присоединиться к Laravel - PullRequest
0 голосов
/ 03 октября 2018

как мне написать это утверждение с помощью laravel?

$totalSpend= DB::
select
('
  SUM(mt_subscription.total_w_tax) 
  FROM companies 
  INNER JOIN   mt_client ON companies.id = mt_client.company_id 
  INNER JOIN mt_subscription on mt_client.client_id = mt_subscription.client_id 
  WHERE mt_client.company_id = 1
');

ошибка:

SQLSTATE [42000]: ошибка синтаксиса или нарушение доступа: 1064 Ошибка вваш синтаксис SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

используйте DB :: raw, когда у вас есть агрегатная функция

$ totalSpend = DB :: select (DB :: raw (SUM (mt_subscription.total_w_tax)) ОТ компаний ВНУТРЕННИЙ ПРИСОЕДИНЯЙТЕСЬ к mt_client ON компании.id = mt_client.company_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ mt_subscription ON mt_client.client_id = mt_subscription.client_id ГДЕ mt_client.company_id = 1 ');

0 голосов
/ 03 октября 2018

Пожалуйста, попробуйте это,

DB::table('companies AS cm')
        ->select(DB::raw('SUM(sub.total_w_tax)'))
        ->join('mt_client AS cl','cm.id','=','cl.company_id')
        ->join ('mt_subscription AS sub','cl.client_id','=','sub.client_id')
        ->where('cl.company_id','=','1')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...