如何排除laravel 5.5中的私人事件?

时间:2018-03-28 11:21:58

标签: php api laravel-5 laravel-5.5

我有这段遗留代码将所有事件都返回到前端:

/**
     * @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表中,有一个名为privacy的列,其中包含publicprivate。如何排除私人事件被退回?

1 个答案:

答案 0 :(得分:1)

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

这样的东西

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

有关详细信息,请查看此链接LARAVEL QUERY