Достался такой вот класс в пакете cmgmyr/laravel-messenger
public function participantsString($userId = null, $columns = ['name'])
{
$participantsTable = Models::table('participants');
$usersTable = Models::table('users');
$userPrimaryKey = Models::user()->getKeyName();
$participantNames = $this->getConnection()->table($usersTable)
->join($participantsTable, $usersTable . '.' . $userPrimaryKey, '=', $participantsTable . '.user_id')
->where($participantsTable . '.thread_id', $this->id)
->select('users.name');
if ($userId !== null) {
$participantNames->where($usersTable . '.' . $userPrimaryKey, '!=', $userId);
}
return $participantNames->implode('name', ', ');
}
Пытаюсь его адаптировать под свои нужды. Но у меня выборка идет из двух моделей - условно User и User2. Как поправить этот скрипт, чтобы он искал в 2 таблицах одновременно? И еще, он почему-то пропускает самого пользователя грубо под номером 1. Т.е. участники треда User 1 и User2 1001. Он ни того, ни другого не выводит. Подскажите что-нибудь, плиззз