2017-01-02 2 views
0

У меня есть запрос, который дает мне список общих подсчетов различных элементов, как:Laravel красноречивым Запрос Многократное дополнительное условие

$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'); 

теперь я хочу получать те же данные с дополнительным условием, как> где ($ Table1. '.status', '=', 'SUCCESS').

как мне это сделать ??

ответ

0

Используйте клон, чтобы скопировать объект запроса для внесения изменений.

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

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

Я сохраняю выбор и перечисляет также часть «запроса», так как они возвращают список элементов и подсчитывают, так что столбец состояния не выбран. будет клонировать этот запрос и добавлять, где работать? – Makwana

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'); 
Смежные вопросы