[英]Can I use `when` with `whereHas` in a Laravel query?
我想向Laravel查詢添加whereHas
,但前提是變量為true。 我正在嘗試下面的方法,該方法不會出錯,但在應有的情況下不返回任何內容。
$assets = Asset::with('media')
->when($category, function ($q) use ($category) {
return $q->whereHas('category', function ($query) use ($category) {
$query->whereId($category);
});
})->offset($offset)->limit($limit)->get();
如果$category
為true,則不返回任何內容。 如果$category
為false,則返回全部。 它可以不使用when
子句。
這是我的代碼,它正在工作:
return App\Car::with(['user'])
->when($_GET['area']>'', function ($query)
{ $query-> whereHas('user', function($query) { $query->where('area_id', $_GET['area']); } ); })->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.