Laravel 雄辩的过滤器和查询

Laravel 雄辩的过滤器和查询,laravel,Laravel,我有这样一个问题: $events = Appen::find(2)->events()->take(230)->get()->toArray(); 我如何添加过滤器,比如说 If (Input::has('gege') //add some filter to the query above.. 我基本上想问的是,如何在不立即执行查询的情况下拆分查询?可能吗 $events = Appen::find(2)->events()->take(230)

我有这样一个问题:

$events = Appen::find(2)->events()->take(230)->get()->toArray();
我如何添加过滤器,比如说

If (Input::has('gege')
   //add some filter to the query above..
我基本上想问的是,如何在不立即执行查询的情况下拆分查询?可能吗

$events = Appen::find(2)->events()->take(230);
if(Input::has('gege')) {
    $events->where(); //add filter here
}
$events->get()->toArray();
执行get和paginate将执行查询。
希望有帮助!祝你今天愉快

是的,这是可能的,您可以将您的逻辑放在

   $events = Appen::find(2)
   ->events()
   ->take(230)
   ->where(function($query){
       if (Input::has('gege')){
           $query->where(); //add filter query here
       }
   })
   ->get()->toArray();