쿼리에 참여하는 방법을 잘 아는 Laravel
PHP中文网
PHP中文网 2017-05-16 16:51:58
0
6
1380

가설

원피스thread(帖子) 预加载 comments(评论)和 comments.user (댓글을 달아주신 유저)

보통 코드 한 줄이면 얻을 수 있습니다

으아악

이것에는 문제가 없으며 아주 잘 쿼리해서 표시할 수 있습니다.

으아악

하지만 현재 요구 사항은 댓글을 단 사용자 데이터를 삭제하면 관련 댓글 데이터가 표시될 수 없으며, 그렇지 않으면 정보가 불완전해질 것이라는 것입니다(이것은 정상적인 요구겠죠?)

그렇다면 논리적으로는 inner join 查询就可以过滤掉不符合的数据.
LaravelEloquent 目前我只查到with방법

밖에 없습니다.

이 요구사항은 YiiActiveRecord를 통해 쉽게 해결할 수 있습니다. 으아악

잘 모르는 부분이 있어서 해당 분야 전문가에게 해결 방법을 문의하고 싶습니다!Laravel

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(6)
習慣沉默

laravel 쿼리 빌더의 조인은 기본적으로 내부 조인 동작으로 설정되어 있으며 매뉴얼에는 그렇게 나와 있습니다

给我你的怀抱

으아악

巴扎黑

Eloquent ORM에는 직접 조인 쿼리 조건이 없지만 위에서 언급한 대로 해결 방법이 있습니다.
하지만 저는 일반적으로 성능상의 이유로 ORM을 사용하지 않습니다. 쿼리 빌더를 사용합니다.

洪涛

으아악

巴扎黑

관계에 Join ->hasMany()->join()->where()를 원하는 대로 작성하세요.

世界只因有你

사실 제가 물어보는 건 주로 사용법에 관한 것입니다. 이런 요구는 매우 흔합니다.

이것은 rails
그리고 laravel에서 구현되었습니다. 현재 with 하나만 표시됩니다

rails里都是有实现的
laravel 目前我看到的只有一个with

rails里有 preloadincludesEager loadJoins, 可以来区别eager loading数据的方式.
这里有篇文章来讲解
http://www.mamicode.com/info-...

YiiActiveRecord也有with, joinWith(inner join, left join ....) innerJoinWith, 来根据需求做eager loading

其他的我就不查了. 并不是我要损laravel, 我是到现在也没有觉得laravelEloquentrails에는 preload, includes, Eager load, Joins가 있습니다. 여기에 데이터를 eager loading하는 다양한 방법이 있습니다.
설명하는 기사는 다음과 같습니다.
http://www.mamicode.com/info-...

🎜그리고 YiiActiveRecord에는 with, joinWith(내부 조인, 왼쪽 조인....)도 있습니다. innerJoinWith, 필요에 따라 eager loading 수행🎜 🎜다른 건 확인하지 않겠습니다. laravel을 손상시키려는 것은 아니지만 laravel에서 Eloquent가 얼마나 강력한지는 아직 생각하지 않습니다. 코드> 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿