вот что я предложил изначально. И оно либо так, либо так же но в методе репозитория, никак по другому.
Product::ofUserBySlug($slug);
Auth::user()->productBySlug($slug);
public function scopeOfUserBySlug($query, $slug)
{
return $query->where('user_id', Auth::id())
->whereSlug($slug);
}
Не исключаю, что в такой бюджет осилить проект не возможно
public function scopeOfUserBySlug($query, $user, $slug)
{
return $query->whereUser_id($user->id)->whereSlug($slug);
}
Далее: почему бы не сделать $user->products()->whereSlug($slug)? Учитывая контекст, смею предположить что именно такой запрос вам нужен не так уж и часто, а значит это - неплохое решение. Нужен будет эктив - ну добавляете скоуп в модель Product и имеете счастье, типа $user->products()->whereSlug($slug)->isActive().
$user->products()->whereSlug($slug);
в контроллерах?