У меня есть метод 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-запрос, если это единственный вариант.
Таким образом, говоря простым языком, все связанные пользователи, которым понравился листинг, который понравился и первичному пользователю, должны быть добавлены в каждую запись листинга