我可以使用下面的示例代码从表中选择数据
$ab = Order::where('user_id', 2);
->where('stock_id', 30);
->get();
dd($ab);
还可以,但是我需要创建搜索条件,我想在下面创建这样的查询
$ab = new Order();
!empty($request->user_id) ? $ab->where('user_id', $request->user_id) : false;
!empty($request->stock_id) ? $ab->where('stock_id', $request->stock_id) : false;
dd($ab->get());
并且不起作用。有人可以给我一个提示吗?
答案 0 :(得分:1)
代替
$ab = new Order();
您可以使用:
$ab = Order::query();
开始新查询。
您还可以像这样使用when
闭包:
$ab = Order::query()->when($request->filled('user_id'), function($q) {
$q->where('user_id', $request->user_id)
})->when($request->filled('stock_id'), function($q) {
$q->where('stock_id', $request->stock_id)
})->get();
dd($ab);