我有这段遗留代码将所有事件都返回到前端:
/**
* @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
的列,其中包含public
或private
。如何排除私人事件被退回?
答案 0 :(得分:1)
我是laravel的新手,但您可以在查询中使用where子句。像
这样的东西 $events = DB::table('events')->where('privacy', 'public')->get();
有关详细信息,请查看此链接LARAVEL QUERY