1
私はタイムスタンプフィールド、という名前の閉じたという名前の、多対多関係のピボットテーブルにあります。私はが0であるか特定の時間より短い項目を取得したいと思います。 は、私は次のことを試してみました:Laravel eloquentここでピボットのヌル以下
// 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
未満の十分なレコードがあることは確かです。
'コール\クエリー\ビルダー:: orWherePivotを()' – SaidbakR
[OK]を、どこで、orWhere使用するようにしてください。私は答えを編集しました – Laerte
最後の編集は動作しますが、分離されていないと見なされたコードと同じ結果を返します。 – SaidbakR