好的,这样我的项目就可以运行了,但是我的很多数据库都是原始查询,我想用laravel 5方式来完成。
到目前为止,我已经设法在laravel 5中轻松地完成了一些简单的操作,但是我正在努力在laravel中复制此查询:
$ave=DB::select("SELECT `question`.`questionID`,
COUNT(`reviewmeta`.`id`) as count, `reviewmeta`.`answer`
FROM `question`
JOIN `reviewmeta`
ON (`question`.`questionID` = `reviewmeta`.`questionID`)
WHERE `question`.`watchID`='".$hwid."'
AND `question`.`type`='FFT'
GROUP BY `reviewmeta`.`answer` ");
例如,这就是我转换原始查询之一的方式:
Laravel 5种方式
public static function getWatchListInfo($serviceIDS){
$services = DB::table('services')
->distinct()
->leftJoin('reviews','services.serviceID','=','reviews.serviceID')
->join('service_categories','services.type','=','service_categories.categoryID')
->select('services.id','services.name','services.review_count_approved','reviews.escalate','services.average_rating','service_categories.name as catName')
->whereIn('services.serviceID',$serviceIDS);
return $services;
}
最佳答案
您只需要像这样添加-> count():
-> whereIn('services.serviceID',$ serviceIDS)-> count()