Я пытаюсь получить связанные «связанные» модели, запросив таблицу ссылок, названную company_projects, которая содержит (как вы ожидаете) идентификаторы компаний и проектов (проекты являются категориями продуктов).получить * связанные * связанные модели в laravel eloquent вместо необработанного SQL
В этом случае используется поток для определения соответствующего проекта является:
- Получить компании, которые находятся в же проекте («категория продукта»), как вы
- Найти другого проект идентификаторы, которые связаны с этими компаниями
- Получить информации о связанных проектах сгружена последним шагом
Что я пытаюсь сделать, это уже функционирующий в следующем сырым запроса:
SELECT
*
FROM
projects
WHERE
projects.id IN
(
SELECT cp1.project_id
FROM company_projects cp1
WHERE cp1.company_id IN
(
SELECT cp1.company_id
FROM projects p
LEFT JOIN company_projects cp2 ON cp2.project_id = p.id
WHERE p.id = X AND cp2.company_id != Y
)
)
AND projects.id != X
X = идентификатор текущего проекта ('категория продукта')
Y = ID от текущего «пользователя» (компании)
Но мой реальный вопрос: как это сделать элегантно в Laravel Rloquent (в настоящее время v4.2). Я попробовал это, но я не везёт до сих пор ...
Update:
Я хотел бы отметить, что у меня есть опыт работы с красноречивым и Модели через несколько проектов, но по какой-то причине, я просто не в состоянии с этим конкретным запрос. Так надеялся увидеть объясненное решение. Возможно, я ошибаюсь и что ответ относительно прост.
Благодарим вас за ответ, но, возможно, я должен был объяснить, что знаю об использовании Модели и Красноречивости в Laravel (и некоторых опытах в 5.1). Но реальный вопрос заключался в том, как преобразовать этот специфицированный запрос в синтаксис красноречия, поскольку я этого не сделал. – Dominique