Cześć,
Mam listę wydarzeń gdzie dany użytkownik tworząc wydarzenie przypisuje do niego użytkowników a sam zapisywany jest jako autor.
Filtrowanie wydarzeń dla przypisanych użytkowników wygląda u mnie tak
$data->whereHas('users', function ($users) use ($filters) {
$users->where('user_id', $filters['user_id']);
});
i to ogólnie działa ok.
Jednak autor wydarzenia wcale nie musi być w jego uczestnikach więc jeśli doda wydarzenie nie widzi go u siebie na liście. Chciałbym, aby osoba która dodała wydarzenie widziała na liście zarówno wydarzenia w których jest wpisana jako użytkownik jak i te które utworzyła ale nie jest wpisana.
Próbowałem użyć orWhere jednak to nie dział a w zasadzie działa w taki sposób że są ignorowane inne filtry które są w zapytaniu np filtrowanie po mieście. Próbowałem zrobić coś takiego
$data->whereHas('users', function ($users) use ($filters) {
$users->where('user_id', $filters['user_id']);
})->orWhere('author_id', $filters['user_id']);
i to w zasadzie wyświetli również te w których jest autorem natomiast ignoruje wtedy inne filtry które normalnie działają np
$data->where('city_id', $filters['city_id']);
Z góry dzięki za pomoc