Laravel雄辩查询重用额外条件

时间:2017-01-02 22:21:32

标签: laravel eloquent code-reuse

我有一个查询,它给出了不同项目的总计数列表,如:

$data = DB::table($Table1)
           ->join($table2,$Table1.'.id','=',$Table2.'.device_key')
                ->where($Table1.'.created_at', '>', $value)
                ->select('item', DB::raw('count(*) as total'))
                ->groupBy('item')
                ->lists('total', 'item');

现在我想获取具有额外条件的相同数据> where($ Table1。'。status','=','SUCCESS')。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

我认为你不会得到比这更好的东西。

$query = DB::table($Table1)
           ->join($table2,$Table1.'.id','=',$Table2.'.device_key')
                ->where($Table1.'.created_at', '>', $value)
                ->select('item', DB::raw('count(*) as total'))
                ->groupBy('item');

$data1 = $query->lists('total', 'rem');
$data2 = $query->where($Table1 . '.status', '=', 'SUCCESS')->lists('total, 'rem');

答案 1 :(得分:0)

使用clone复制查询对象以进行修改。

$query = DB::table()->where();

$clonedQuery = clone $query;
$clonedQuery->where(..);