Flarum\Core\Discussion::postsVisibleTo PHP Method

postsVisibleTo() public method

Define the relationship with the discussion's posts, but only ones which are visible to the given user.
public postsVisibleTo ( User $user ) : Illuminate\Database\Eloquent\Relations\HasMany
$user User
return Illuminate\Database\Eloquent\Relations\HasMany
    public function postsVisibleTo(User $user)
    {
        $relation = $this->posts();
        static::$dispatcher->fire(new ScopePostVisibility($this, $relation->getQuery(), $user));
        return $relation;
    }

Usage Example

 /**
  * @param Discussion $discussion
  * @param User $actor
  * @param int $offset
  * @param int $limit
  * @param array $include
  * @return mixed
  */
 private function loadPosts($discussion, $actor, $offset, $limit, array $include)
 {
     $query = $discussion->postsVisibleTo($actor);
     $query->orderBy('time')->skip($offset)->take($limit)->with($include);
     return $query->get()->all();
 }