I am (trying) to use scopes to handle some "filtering" within my models.
I got two scopes on the model: verified and unverified. Unfortunately the verification is not a single field in the database, but a query like:
return $query->whereHas('profile', function ($q) {
$q->whereHas('invitations', function ($i) {
...
});
Now I got the following issue: If I scope like this
$verified_members = $members->verified();
and work with $verified_members everything works fine:
$verified_members->whereHas('car', function ($q) {
$q->where('stolen', true);
})->count();
but if I do something like:
$verified_members = $members->verified();
$unverified_members = $members->unverified();
$verified_members->whereHas('car', function ($q) {
$q->where('stolen', true);
})->count();
$unverified_members->whereHas('car', function ($q) {
$q->where('stolen', true);
})->count();
I get 0 as result for $unverified_members, as it seems like the scopes are being chained. If I remove $verified_members again, I am getting results for $unverified_members.