예: 게시물 세부정보 페이지
세부정보 페이지 hasMany 연관 댓글 테이블
评论表
评论表
hasOne关联 用户表
用户表
hasOne关联 用户数据表
댓글 테이블
hasOne 연관
用户表
hasOne 연관 사용자 데이터 테이블
그런 다음 N+1 쿼리를 피하면서 with('작성자') 연결用户表
关联查询用户数据表
을 통해 댓글 목록을 쿼리할 수 있습니다
그러나 이때 用户表
,也关联了用户数据表
연관을 통해 사용자 데이터 테이블
을 쿼리하면 여전히 N+1 쿼리입니다.
사용자 데이터 테이블
을 한 번에 연결하는 방법은 무엇입니까? 🎜
댓글 관련 사용자: getAuthor
사용자 관련 사용자 데이터: getAuthorname
('author.authorname')으로 검색할 수 있습니다.
예를 보고 싶다면 이 비디오 장에서는 다층 연결에서 데이터를 검색하는 방법에 대해서만 설명합니다.
저는 yii2를 오랫동안 사용하지 않았습니다. 이전에 ActiveRecord를 사용할 때는 복잡한 명령문을 처리하기 위해 SQL을 직접 작성했는데 여기저기서 모델 파일을 변경하기에는 너무 게으른 편이었습니다. 성능은 괜찮습니다. LEFT JOIN 연결이면 충분합니다. findBySQL()을 사용하여 확인하세요.