在特定时间之间计算列查询
Count Columns query with between specific time
有两个 table,分别命名为 exchanges table 和 finaltrades table .
交易所 table 有 START_TIME 字段(格式:00:00:00)。
另一个 finaltrades table 有 exchange_id.
我只想计算距离最终交易 table start_time 到 start_time+1 小时之间的条目。 例如: 如果 start_time 有 09:15:00,则在 09:15:00 到 10:15:00 之间计数仅记录。
$Count_Trades = FinalTrade::where('user_id', '=', $user_id)
->whereColumn('start_time', '+', 01:00:00)
->count();
如何按关系更正此代码?
Exchnages table
finaltrade table
您应该定义 FinalTrade 模型和交易所模型之间的关系。
这定义了 FinalTrade 模型中的关系。
public function exchanges(){
return $this->hasOne('App\EXCHANGE_MODEL_NAME', 'id', 'exchange_id');
}
您可以找到有关关系的更多详细信息 here。
现在您可以使用此查询查找您的记录
$countTrades = App\FinalTrade::where('user_id', '=', $user_id)->exchanges()
->where('start_time', '>=', $your_desired_time)->where('start_time' , '<=' , strtotime($your_desired_time) + 60*60)->count();
有两个 table,分别命名为 exchanges table 和 finaltrades table .
交易所 table 有 START_TIME 字段(格式:00:00:00)。
另一个 finaltrades table 有 exchange_id.
我只想计算距离最终交易 table start_time 到 start_time+1 小时之间的条目。 例如: 如果 start_time 有 09:15:00,则在 09:15:00 到 10:15:00 之间计数仅记录。
$Count_Trades = FinalTrade::where('user_id', '=', $user_id)
->whereColumn('start_time', '+', 01:00:00)
->count();
如何按关系更正此代码?
Exchnages table
finaltrade table
您应该定义 FinalTrade 模型和交易所模型之间的关系。
这定义了 FinalTrade 模型中的关系。
public function exchanges(){
return $this->hasOne('App\EXCHANGE_MODEL_NAME', 'id', 'exchange_id');
}
您可以找到有关关系的更多详细信息 here。
现在您可以使用此查询查找您的记录
$countTrades = App\FinalTrade::where('user_id', '=', $user_id)->exchanges()
->where('start_time', '>=', $your_desired_time)->where('start_time' , '<=' , strtotime($your_desired_time) + 60*60)->count();