나는 다음과 같은 쿼리가 :Laravel 설득력이 - 열망로드 쿼리는 제한()에 의해 제한되고
SELECT *
FROM myTable AS ABB1
LEFT JOIN myOtherTable AS ABB2 ON ABB1.id = ABB2.myTable_id
WHERE my_column = 25
ORDER BY myTable.id DESC
LIMIT 5;
:
MyTable::where('my_column', '=', 25)->with('myOtherTable')
->orderBy('id', DESC)->limit(5);
내가 나에게 다음과 같은 원시 SQL 쿼리에 analogoous 결과를 가지고 위 싶습니다을
는 위의 5 행에 결과를 myOtherTable
에서 정보를 대응 다음 제한과 함께 myTable
모든 것을 찾을 수 있습니다.
위의 설득력있는 설명을 실행하면 두 개의 SQL 쿼리가 처리됩니다. 첫 번째는 같은 모양이 쿼리 반환 (7 개) 결과 항목라고 말하면
SELECT *
FROM myTable
WHERE my_column = 25
ORDER BY id DESC;
을,하지만 난 limit()
기능 (. 즉 limit(5)
)에 적은 수의 전달 후 해당 열망 로딩 쿼리는 다음과 같이 표시됩니다
SELECT *
FROM myOtherTable
WHERE id IN(1, 2, 3, 4, 5);
열망하는로드 쿼리 자체는 5 개의 항목으로 제한됩니다. 여기에는 제한이 없어야합니다. 위의 IN
조건부 항목의 수는 7 (또는 첫 번째 쿼리에서 반환 된 개수가 무엇이든간에)이어야합니다. 두 번째 쿼리를 실행 한 후에 만 제한을 적용해야합니다.
나는 어떻게 이런 일을 Eloquent와 함께 할 수 있습니까?