【发布时间】:2018-01-10 04:40:00
【问题描述】:
我在多对多关系的数据透视表中有时间戳字段,命名为关闭。我想获取 close 为空或小于特定时间的项目。 我尝试了以下方法:
// In model
public function jobEquipments($job, $one = false)
{
$nowDt = Carbon::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s'));
if (!$one){
return $this->belongsToMany(Equipment::class, 'cavity_actions', 'cavity_id', 'equipment_id')
->wherePivot('job_id', $job)
->withPivot('created_at','aid')
->wherePivot('closed',null)
->orWherePivot('closed','<',date('Y-m-d H:i:s'))
->orderBy('pivot_created_at', 'desc');
}
....
我也尝试在orWherePivot中使用$nowDt而不是date('Y-m-d H:i:s')但是查询结果没有变化。即它看起来像没有 ->orWherePivot('closed','<',date('Y-m-d H:i:s')) 子句的相同值。在我的数据库中,我很确定有足够的记录关闭日期时间值小于Now。
【问题讨论】:
标签: php laravel laravel-5 eloquent laravel-5.4