Вы никогда не указывали оператор равенства / неравенства, который будет использоваться при вызове соединения. Попробуйте сделать это, а также укажите все выбранные столбцы с соответствующим псевдонимом:
Route::get('/info', function() {
$products = DB::table('recommends AS r')
->leftJoin('products AS p', 'r.product_id', '=', 'p.id')
->join('products_photos AS pp', 'pp.product_id', '=', 'p.id')
->select('p.id', 'p.name', 'p.price', DB::raw('COUNT(*) AS total'))
->groupBy('p.id', 'p.name', 'p.price')
->get();
});
Я предполагаю, что products
имеет столбцы id
, name
и price
.