В моем приложении laravel / nova мне нужно установить что-то вроде этого: пользователи должны видеть собственные сообщения, не могут видеть другие сообщения.Например:
| id | name | user_id |
|----|-------------|---------|
| 1 | POST1 | 1 |
| 2 | POST2 | 1 |
| 3 | POST3 | 2 |
В этой ситуации, если мы являемся пользователем id = 1, просто посмотрите первые два сообщения.Это легко, я прочитал документ и сделал это с этим.
В связанной модели я сделал это:
public static function indexQuery(NovaRequest $request, $query)
{
if(auth()->user()->hasRole('admin'))
{
return $query;
}
if(!auth()->user()->hasRole('admin'))
{
return $query->where('user_id', auth()->user()->id);
}
}
Но я все еще вижу это так: .... / resources / posts / 3
Я не могучтобы увидеть и мне нужно получить 403 страницы.Где я должен положить это заявление?Я был создан политикой ранее.В политике сообщений,
public function view(User $user, Company $company)
{
return auth()->user()->hasRole(['supervisor', 'admin']);
}
Это тоже не решает проблему.Это то, что я пытался, просто не отображается.Но мне нужно отменить 403 или smt.
Кто-нибудь может мне помочь, я буду так рад.Заранее спасибо.