如何在Laravel 4.2中创建自定义DB查询构建器方法



我正在搜索一种创建自定义DB查询方法的方法,类似于雄辩范围。

例如

class User extends Eloquent 
{
    public function getActiveUsers()
    {
        //...
        //...
        $data = DB::table('myTable')
            ->where('active', 1)
            ->myFun($var1, $var2) //<-- custom method
            ->limit(10)->get();
        dd($data);
    }
}

,在myFun()中,我会有一些类似的东西

public function myFun()
{
    if(condition 1)
    {
        $query->where('col', 12)
    }
    if(condition 2)
    {
        $query->where($va2, 'test')
    }
}

最后,将子句添加到主查询中。

我找到了这个解决方案,但这是针对Laravel5。我正在寻找Laravel 4.2。

请注意:应用程序处于生产阶段,因此我不能使用雄辩的范围,因此我希望创建类似的东西。

根据您的要求,请遵循以下概念:

class User extends Eloquent 
{
    public $query = null;
    public function getActiveUsers()
    {
        //...
        //...
        $this->query  = DB::table('myTable');
        $this->myFun($var1, $var2) //<-- custom method
        $data = $this->query->limit(10)->get();
        dd($data);
    }
    public function myFun()
    {
        if(condition 1)
        {
            $this->query->where('col', 12);
        }
        if(condition 2)
        {
            $this->query->where($va2, 'test');
        }
        $this->query->where('active', 1);
    }
}

相关内容

  • 没有找到相关文章

最新更新