オプションのwhereクエリがあるかどうか疑問に思う。例:Laravel optional where()query
Select * from table Xは2でなければならず、Yは0または1に等しくなければなりませんか?
オプションのwhereクエリがあるかどうか疑問に思う。例:Laravel optional where()query
Select * from table Xは2でなければならず、Yは0または1に等しくなければなりませんか?
あなたに試すことがあります。これを達成するために、いくつかの方法があります
$userId = $request->input('userId');
->where('X', 2)
->where(function($q) use($userId) {
$q->where('Y', $userId)
->orWhere('Y', 1)
})
。
あなたもバックモデルによるオブジェクトを取得することができます:
$collection = Mymodel::where('x', 2)->where('y', 0)->orWhere('y', 1)->get();
それともアミットのような
は、上記示しています。あなたは、単純なケースのためorWhere()
を使用することができますが、あなたのケースで、あなたは次のようにyについて、where句を返すように関数を使用する必要があります。
$result = $field->letters()->where('x', 2)->where(function ($q) {
$q->where('y', 0)->orWhere('y', 1);
})->get();
注:あなたのオブジェクトモデルと手紙を交換してください。
動的値を渡すにはどうすればよいですか?例えば '' $ q-> where( 'Y'、$ userId) '' – user2636197
回答が更新されました。 –
働いてくれてありがとう、私は7分で受け入れます – user2636197