Am o functie care cauta in baza de date niste proiecte doar daca userul are acces la ele, ideea este ca mi le afiseaza pe toate chiar daca n-am acces la ele. Trebuie doar alea unde am acces.
Functia functioneaza daca scot (orWhere), cum fac sa tina neaparat cont de prima regula? (Primul whereHas in cazul meu).
return Legal::whereHas('users', function($q){
$q->where('user_id', \Auth::id());
})
->where('name','LIKE','%'.$search.'%')
->orWhere('name_en','LIKE','%'.$search.'%')
->orWhereHas('proje', function($q) use ($search){
$q->where('name','LIKE','%'.$search.'%')
->orWhere('name_en','LIKE','%'.$search.'%');
})
->with($with);
Ca sa functioneze, trebuie neaparat sa tina cont de prima regula, adica (aceasta conditie cedeaza la “orWhere”) si nu mai tine cont de ea, drept urmare imi afiseaza si lucrurile unde nu am acces la ele:
whereHas('users', function($q){
$q->where('user_id', \Auth::id());
})