雄辩的过滤器和查询

时间:2014-03-10 11:46:58

标签: laravel

我有这样的查询:

$events = Appen::find(2)->events()->take(230)->get()->toArray();

如何添加过滤器,比如说。

If (Input::has('gege')
   //add some filter to the query above..

我基本上要问的是,如何在不立即执行的情况下拆分查询?有可能吗?

2 个答案:

答案 0 :(得分:0)

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

执行get()和paginate()将执行查询。 希望有所帮助!祝你有美好的一天!

答案 1 :(得分:0)

是的,这是可能的,你可以将你的逻辑放在where():

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