Как извлечь все из таблицы table1 и прикрепить количество строк из таблицы table2 в одном запросе с помощью laravel eloquent - PullRequest
0 голосов
/ 31 мая 2019

Я использую Laravel 5.8, и у меня есть 2 таблицы в соотношении (один ко многим), как показано ниже:

Контакты БД

  • id
  • имя
  • номер

Отправить БД

  • id
  • user_id
  • текст
  • до
  • время

я хочу получить список всех (Контактов) вместе с тем, сколько (отправленных) они сделали, что относились к этому (контакту) путем сопоставления Contacts.id с Send.user_id,

вот результат запроса, который я ищу:

Результат запроса:

  • id
  • имя
  • номер
  • количество отправлений

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

работал как шарм!Я настроил его так, чтобы он возвращал сигнал (контакт)

Contact::where('id', $id)->withCount('sends')->get();

Вот еще один способ, как ( Джонатан К ) предложил

Contact::where('id', $id)->withCount('sends')->first();

Спасибо, Джонатан К

0 голосов
/ 31 мая 2019

Вам нужно настроить модель отношений

Добавьте следующее к вашей Contact модели:

public function sends()
{
    return $this->hasMany('App\Send', 'user_id'); //Assuming Send Model is directly in app folder
}

Тогда просто получите вашу информацию:

$contact = Contact::withCount('sends')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...