Laravel вводит SQL-запрос в коллекцию моделей - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть метод Laravel Controller со следующим кодом:

$listings = LikedListing::where('user_id', '=', $user->id)
                ->with('Listing.Photos')
                ->get();

Это должно вернуть коллекцию записей LikedListing с фотографиями, прикрепленными к каждой записи в списке избранного.

У меня есть SQL-запрос, который мне также нужно вставить в каждую запись:

select u.id, l.address, u.first_name, u.last_name, ll.score
from listings l
         left join liked_listings ll on ll.listing_id = l.id
         left join users u on u.id = ll.user_id
where u.id in (
    select secondary_user
    from user_relationships
    where primary_user = $primaryUser
)
  and ll.listing_id = $listingId

Где $primaryUser = $user->id И $listingId равно listingid внутри каждой записи в коллекции.

Я понятия не имею, как это сделать.

Может быть, есть примерный способ выполнения этого? UserRelationship модель имеет столбец primary_user, который подключается к $ user-> id, и столбец second_user, который действует как идентификатор пользователя последователя, что нам и нужно в конечном результате (список всех связанных пользователей в листинг) `

Может ли кто-то, кто обладает гораздо большими знаниями в Laravel, пожалуйста, помогите

Моя цель состоит в том, чтобы иметь текущую коллекцию записей записей со связанными фотографиями, а также следующих пользователей (secondary_user) из таблицы user_relationship, относящихся к primary_user (the logged in user), у которых есть запись, использующая user_id с secondary_user value для этого списка в таблице избранных списков (obvicicated с перечислением_ID). Я уже предоставил необработанный SQL-запрос, если это единственный вариант.

Таким образом, говоря простым языком, все связанные пользователи, которым понравился листинг, который понравился и первичному пользователю, должны быть добавлены в каждую запись листинга

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...