如何排除 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
的列,其中包含 public
或 private
。如何排除私人活动不被 return 编辑?
我是 laravel 的新手,但您可以在查询中使用 where 子句。像
$events = DB::table('events')->where('privacy', 'public')->get();
更多信息请查看此 link LARAVEL QUERY
我有这段遗留代码 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
的列,其中包含 public
或 private
。如何排除私人活动不被 return 编辑?
我是 laravel 的新手,但您可以在查询中使用 where 子句。像
$events = DB::table('events')->where('privacy', 'public')->get();
更多信息请查看此 link LARAVEL QUERY