>  Q&A  >  본문

php - N+1 쿼리 질문을 피하기 위해 최적화된 쿼리가 포함된 Yii 관계형 테이블

예: 게시물 세부정보 페이지
세부정보 페이지 hasMany 연관 댓글 테이블评论表
评论表 hasOne关联 用户表
用户表 hasOne关联 用户数据表댓글 테이블 hasOne 연관

用户表 hasOne 연관 사용자 데이터 테이블

그런 다음 N+1 쿼리를 피하면서 with('작성자') 연결用户表关联查询用户数据表을 통해 댓글 목록을 쿼리할 수 있습니다

그러나 이때 用户表,也关联了用户数据表연관을 통해 사용자 데이터 테이블을 쿼리하면 여전히 N+1 쿼리입니다.

🎜 🎜와 사용자 데이터 테이블을 한 번에 연결하는 방법은 무엇입니까? 🎜
阿神阿神2708일 전1216

모든 응답(2)나는 대답할 것이다

  • 欧阳克

    欧阳克2017-06-10 09:49:45

    댓글 관련 사용자: getAuthor
    사용자 관련 사용자 데이터: getAuthorname
    ('author.authorname')으로 검색할 수 있습니다.
    예를 보고 싶다면 이 비디오 장에서는 다층 연결에서 데이터를 검색하는 방법에 대해서만 설명합니다.

    회신하다
    0
  • 世界只因有你

    世界只因有你2017-06-10 09:49:45

    저는 yii2를 오랫동안 사용하지 않았습니다. 이전에 ActiveRecord를 사용할 때는 복잡한 명령문을 처리하기 위해 SQL을 직접 작성했는데 여기저기서 모델 파일을 변경하기에는 너무 게으른 편이었습니다. 성능은 괜찮습니다. LEFT JOIN 연결이면 충분합니다. findBySQL()을 사용하여 확인하세요.

    회신하다
    0
  • 취소회신하다