2015-06-09 2 views
1

Я использую laravel 5. Я попытался поместить следующий запрос в свой контроллер.Laravel удалить символ `` в запросе

$projects = DB::table('projects AS prj') 
       ->join('customers AS cus', 'prj.customerid', '=', 'cus.custid') 
       ->leftjoin('file_assocs AS fa', 'prj.prjid', '=', 'fa.id') 
       ->groupBy('fa.id','prj.prjid') 
       ->select('count(fa.id) as filecount', 'prj.name as proj_name', 'prj.prjdesp', 'cus.name as customer_name') 
       ->get(); 

Но это дает выход любит этот

select `count(fa`.`id)` as `filecount`, `prj`.`name` as `proj_name`, `prj`.`prjdesp`, 
     `cus`.`name` as `customer_name` 
from `projects` as `prj` inner 
join `customers` as `cus` on `prj`.`customerid` = `cus`.`custid` 
left join `file_assocs` as `fa` on `prj`.`prjid` = `fa`.`id` 
group by `fa`.`id`, `prj`.`prjid` 

Это не дает мой вывод. Потому что в моем count(fa.id), как showned здесь

`count(fa`.`id)` 

Так он показывает ошибку. Есть ли способ удалить символ `` в laravel?

ответ

2

использование DB::raw()

$projects = DB::table('projects AS prj') 
    ->join('customers AS cus', 'prj.customerid', '=', 'cus.custid') 
    ->leftjoin('file_assocs AS fa', 'prj.prjid', '=', 'fa.id') 
    ->groupBy('fa.id','prj.prjid') 
    ->select(DB::raw('count(fa.id) as filecount, prj.name as proj_name, prj.prjdesp, cus.name as customer_name')) 
    ->get(); 
+0

Я пытался, но он дает 'Вызов отсчету функции члена() на не object' ошибки –

+0

Вы вызова метода подсчета() в любом месте вашего кода. Если это так, напишите этот код. – chanafdo

+0

Я использовал '$ file_count = count ($ files);' в моем хранилище 'контроллеров ' –

Смежные вопросы