错误:第2435行中的 BadMethodCallException :调用未定义的方法BadMethodCallException
有两个表,名为EXCHANGES表和FINALTRADES表。
exchange_id有START_TIME字段(格式: 00:00:00),终结表有exchange_id。
我只想从最终交易表中计算start_time到start_time+1hrs之间的条目。例如:如果start_time有09:15:00,那么只计算09:15到10:15之间的记录。
功能:
public function getCountHour() {
$user_id = Auth::user()->id;
$countTrades = FinalTrade::where('user_id', '=', $user_id)
->exchanges()
->where('start_time', '>=', $your_desired_time)
->where('start_time' , '<=' , strtotime($your_desired_time) + 60*60)
->count();
return response()->json($countTrades);
}
给出FnalTrade模型的关系:
public function exchanges(){
return $this->hasOne('App\EXCHANGE_MODEL_NAME', 'id', 'exchange_id');
}发布于 2018-06-04 07:50:55
以下是其中的诀窍:
$countTrades = FinalTrade::whereUserId(Auth::id())
->whereHas('exchanges', function($query) use ($your_desired_time) {
$query
->where('start_time', '>=', $your_desired_time)
->where('start_time' , '<=' , strtotime($your_desired_time) + 60*60);
})
->count();https://stackoverflow.com/questions/50675293
复制相似问题