如何排除 laravel 5.5 中的私人活动?

How to exclude private events in laravel 5.5?

我有这段遗留代码 return 所有事件到前端:

/**
     * @param $request
     *
     * @return mixed
     */
    public function index( EventsFilterRequest $request ) {
        $keys = $request->all();

        if ( \count( $keys ) === 0 ) {
            return $this->eventsQueryBuilder()->isVisibleFor( authUser()->id )->ofOrder( 'starts_at', 'ASC' )->ofCountry( runtime()->country()->id )->ofStatus( 'future' );
        }

        $events = $this->eventsQueryBuilder()->isVisibleFor( authUser()->id )->ofOrder( 'starts_at', 'ASC' )->ofStatus( 'future' )->ofCountry( runtime()->country()->id );
        foreach ( $keys as $key => $value ) {
            if ( array_key_exists( $key, $this->_methods ) ) {
                $events = $this->_methods[$key]( $events, $request, $this );
            }
        }

        return $events;
    }

events table 中有一个名为 privacy 的列,其中包含 publicprivate。如何排除私人活动不被 return 编辑?

我是 laravel 的新手,但您可以在查询中使用 where 子句。像

$events = DB::table('events')->where('privacy', 'public')->get();

更多信息请查看此 link LARAVEL QUERY