Как я могу использовать eloquent для подсчета строк в другой таблице, объединенной с основной таблицей?
У меня есть три таблицы:
- клиенты
- смс-уведомление
- уведомление по электронной почте
Я хочу присоединиться к ним, сначала потянув список клиентов, а затем посчитать, сколько раз они получали уведомления как по SMS, так и по электронной почте.Наконец, возвращает счетчик или 0, если уведомление не было отправлено.
Я нашел образец: Laravel Eloquent для присоединения к таблице и подсчета связанных
Я использовал это для электронной почты:
<?php
$clients = Client::where('cl_delete_status', false)
->leftJoin('insura_communication_emails', 'insura_clients.cl_id', 'insura_communication_emails.cl_id')
->leftJoin('insura_communication_sms', 'insura_clients.cl_id', 'insura_communication_sms.cl_id')
->select('*', DB::raw('count(ice_id) as total'))
->groupBy('insura_clients.cl_client_id')
->orderBy('insura_clients.cl_id', 'desc')->get();
Как я могу поместить обе таблицы, которые являются электронной почтой и SMS insura_communication_sms
и в коде выше?Он пропускает те с 0 счетами в уведомлении по электронной почте.