TP5 リモート 1 対多関連付けパラメータの入力方法
葫芦娃平衡盘
葫芦娃平衡盘 2018-05-08 14:33:44
0
5
1815

まず、order_goods の GoodsiD に基づいて商品テーブルで shop_id を見つけ、次に shop_id に基づいて shop テーブルで名前を見つけるというアイデアについて話しましょう。order_goods テーブルは、 shop table
TP5の書き方を真似します
public function shop( )
{
return $this->hasManyThrough('Shop','Goods','goods_id','shop_id', 'id')->setEagerlyType(0);
}
hasManyThrough('関連モデル名', '中間モデル名', '外部キー名', '中間モデル関連キー名', '現在のモデル主キー名', ['モデルのエイリアス定義']);
は次のとおりです。パラメーターの書き方がわかりません。専門家の方からアドバイスをいただけますか?

葫芦娃平衡盘
葫芦娃平衡盘

全員に返信(1)
PeterZhu

トレースを開いて、生成された 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` の列を表示 [実行時間: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` の列を表示 [実行時間:0.003000秒] [ SQL ] SELECT `id`,`pid`,`condition`,`icon`,`name`,`title`,`ismenu` FROM `ant_auth_rule` WHERE `status` = 'normal' [RunTime:0.003000s] [ SQL ] `ant_order_goods` の列を表示 [実行時間:0.003000s ] [ SQL ] SELECT * FROM `ant_order_goods` WHERE `id` = 13 LIMIT 1 [実行時間:0.001000秒] [ SQL ] `ant_goods` の列を表示 [実行時間:0.003000s ] [ SQL ] `ant_shop` の列を表示 [実行時間:0.003000秒] 他の方の意思はant_goodsとant_shop吗にはありません
    葫芦娃平衡盘 著者 2018-05-08 17:23:10
  • 返事 メインテーブル(最初のテーブル)のフィールドに基づいて中央のテーブルのフィールド(2番目)に対応し、それに対応する特定のデータを取得するため、なぜ3つのパラメータしか必要としないのかよくわかりません。別のフィールド (3 番目) は最後のテーブル (4 番目) のデータ ID に対応しているため、4 つのフィールドがあるはずだと思います。これにより、3 つのパラメーターのどれであるかがわかりません。埋めるために。
    葫芦娃平衡盘 著者 2018-05-08 17:30:05
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!