我正在尝试通过使用商品名称,日期从,日期到来获取数据
如果我正在使用
$data=add_items::select('*')->where('item_name',$request->iname)->orWhere('date',$request->datef)->orWhere('date',$request->datet)->get();
显示结果,但根据商品名称显示,未在特定日期显示结果
例如
[
{"id":2,item_name":"Muesli","date":"2019-12-23"},
{"id":3,"item_name":"Muesli","date":"2020-12-24"}
]
如果我在所有这三个条件下都使用简单位置,则不会返回结果
$data=add_items::select('*')->where('item_name',$request->iname)->where('date',$request->datef)->where('date',$request->datet)->get();
答案 0 :(得分:0)
您应该使用:
$data=add_items::select('*')->where(function($q) use ($request) {
$q->where('item_name',$request->iname)
->orWhere('date',$request->datef)
->orWhere('date',$request->datet);
})->get();
详细了解parameter grouping。
答案 1 :(得分:0)
尝试一下
使用where(function() use ($request) {
$data=add_items::select('*')->where(function($q) use ($request) {
$q->where('item_name',$request->iname)
->orWhere('date',$request->datef)
->orWhere('date',$request->datet)
->get();
});
答案 2 :(得分:0)
似乎您需要过滤项目名称date from
,date to
我认为您可以使用whereBetween过滤日期:
$data=add_items::where('item_name', $request->iname)
->orWhereBetween('date',[$request->datef, $request->datet]);
->get();