I want to add a whereHas
to a Laravel query but only if a variable is true. I'm trying the below which doesn't error but doesn't return anything when it should.
$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();
If $category
is true nothing is returned. If $category
is false all is returned. It works without the when
clause.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire