【发布时间】:2019-10-29 23:35:46
【问题描述】:
我可以在查询中使用if 条件吗,我想在$request->review = 7 时使用过滤器,它将显示 7 天数据,否则条件默认为 30 天数据。
$reviews = Review::orderBy('created_at', 'DESC')
->orWhere('created_at', '>=', if($request->review == "7"){ $month = 7 })
->where('listing_id', $id)
->where('user_id', Auth::User()->id)
->paginate(6, ['*'], 'review');
【问题讨论】:
-
created_at >= 7似乎不正确。 @MarcinNabiałek 对created_at的看法是否正确,您的意思是“过去 7 天”和“过去 30 天”? -
我当前的查询是这个 $reviews = Review::orderBy('created_at', 'DESC')->orWhere('created_at','>=',$month)->where(' Listing_id', $id)->where('user_id', Auth::User()->id)->paginate(6, ['*'], 'review');这是显示过去 30 天的数据,现在我想显示 7 天的数据,当某些人点击一周时
标签: mysql laravel laravel-5 eloquent laravel-query-builder