Laravel Eloquent의 where 메소드는 데이터베이스의 첫 번째 레코드 배열만 반환합니다.
P粉966979765
P粉966979765 2024-01-03 10:53:43
0
2
464

다음 코드가 있습니다:

으아악

$subOffers를 반환하면 다음과 같은 배열이 표시됩니다.

으아악

하지만 1을 2, 3, 4로 바꾸면... 이런 객체가 나옵니다.

으아악

이 경우에는 4로 변경하고 n-1 키를 얻었습니다.

무슨 일이에요? 배열 대신 객체를 받는 이유는 무엇입니까? 이는 Offers_id가 1보다 큰 경우에 발생합니다. Offers_id는 외래 ​​키입니다.

P粉966979765
P粉966979765

모든 응답(2)
P粉136356287

알겠습니다. 해결책을 찾았습니다

으아아아

단지 whereget

로 바꿔야 한다는 것뿐입니다.

근데 아직도 모르겠어요, 무슨 일이에요? 왜 이런 일이 일어나는지 알고 싶습니다.

P粉404539732

eloquent의 get() 메소드는 Laravel 컬렉션을 반환합니다. 즉, where()가 결과 컬렉션에 영향을 미치는 것과 같이 그 뒤에 추가하는 모든 항목은 https://laravel.com/docs/9를 참조하세요. x/collections, 컬렉션은 배열과 유사한 객체이지만 데이터베이스 쿼리와 유사한 많은 기능을 가지고 있지만 모두 로컬 메모리에 있습니다.

get() 이전에 where() 메서드가 있는 경우 데이터베이스 쿼리를 작성하고 있으며 get()까지 쿼리가 실행되지 않습니다. 쿼리 작성 방법과 수집 방법은 유사하게 작동하지만 서로 다른 작업을 수행하기 때문에 다른 결과를 얻습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!