>  Q&A  >  본문

TP5 원격 일대다 연관 매개변수 작성 방법

먼저 order_goods의 goodsiD를 기반으로 상품 테이블에서 shop_id를 찾은 다음, shop_id를 기반으로 shop 테이블에서 이름을 찾는 아이디어에 대해 이야기해 보겠습니다. order_goods 테이블은 shop 테이블과 관련이 없습니다.
TP5의 글을 따라합니다
public function shop()
{
            return $ this->hasManyThrough('Shop','Goods','goods_id','shop_id','id')->setEagerlyType( 0);
}
hasManyThrough('연결된 모델 이름','중간 모델 이름' ,'외래 키 이름','중간 모델 연결 키 이름','현재 모델 기본 키 이름',['모델 별칭 정의']) ;
다음 매개변수 중 어떤 것을 써야 할지 모르겠습니다. 전문가가 조언을 주실 수 있나요?

葫芦娃平衡盘葫芦娃平衡盘2379일 전1859

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

  • 天蓬老师

    天蓬老师2018-05-08 15:44:48

    트레이스를 열고 생성된 SQL문을 게시해주세요

    회신하다
    0
  • 葫芦娃平衡盘

    죄송합니다 선생님. 추적을 여는 방법을 모르겠습니다...

    葫芦娃平衡盘 · 2018-05-08 16:27:47
    天蓬老师

    공식 매뉴얼을 자세히 읽어보시기 바랍니다: https://www.kancloud.cn/manual/thinkphp5_1/354096

    天蓬老师 · 2018-05-08 16:56:40
    葫芦娃平衡盘

    老师找到了 [ SQL ] `ant_auth_group_access`의 열 표시 [ RunTime:0.002001s ] [ SQL ] SELECT `aga`.`uid`,`aga`.`group_id`,`ag`.`id`,`ag`.`pid`,`ag`.`name`,`ag`.`rules ` FROM `ant_auth_group_access` `aga` LEFT JOIN `ant_auth_group` `ag` ON `aga`.`group_id`=`ag`.`id` WHERE( aga.uid='1' 및 ag.status='normal' ) [ 런타임:0.002000초 ] [ SQL ] `ant_auth_rule`의 열 ​​표시 [ RunTime:0.003000s ] [ SQL ] SELECT `id`,`pid`,`condition`,`icon`,`name`,`title`,`ismenu` FROM `ant_auth_rule` WHERE `status` = 'normal' [ RunTime:0.003000s ] [ SQL ] `ant_order_goods`의 열 표시 [ RunTime:0.003000s ] [ SQL ] SELECT * FROM `ant_order_goods` WHERE `id` = 13 LIMIT 1 [ 런타임:0.001000s ] [ SQL ] `ant_goods`의 열 표시 [ RunTime:0.003000s ] [ SQL ] `ant_shop`의 열 표시 [ RunTime:0.003000s ] 他的意思是没有找到 ant_goods and ant_shop吗

    葫芦娃平衡盘 · 2018-05-08 17:23:10
    葫芦娃平衡盘

    왜 3개의 매개변수만 사용하는지 잘 모르겠습니다. 기본 테이블(첫 번째)의 필드를 기반으로 중간 테이블의 필드(두 번째)에 해당하고 다음에 해당하는 특정 데이터를 가져오기 때문입니다. 또 다른 필드(세 번째 필드)는 마지막 테이블(네 번째 필드)의 데이터 ID에 해당하므로 4개의 필드가 있어야 한다고 생각합니다. 이로 인해 세 가지 매개 변수 중 어느 것이 무엇인지 알 수 없게 됩니다. 채우기 위해.

    葫芦娃平衡盘 · 2018-05-08 17:30:05
  • 취소회신하다