Например, у вас есть Post
& Comments
и Post
может иметь несколько комментариев, но данный пользователь может видеть только определенные c комментарии. Как это можно сделать?
Давайте представим ситуации, когда у нас есть пользователь, публикация и комментарии, и данный пользователь может видеть только комментарии, созданные его друзьями.
// Post.php
public function comments()
{
return $this->hasMany(Comment::class);
}
// User.php
public function friends()
{
return $this->hasMany(Friend::class);
}
// CommentPolicy.php
public function view(User $user, Comment $comment)
{
return $user->friends->pluck('id')->contains($comment->created_by_id);
}
Итак, когда мы запускаем $post->comments
- можем ли мы запустить эту политику для каждой записи?