ホームページ > PHPフレームワーク > Laravel > laravel hasManyThrough を使用して解析するにはどうすればよいですか?

laravel hasManyThrough を使用して解析するにはどうすればよいですか?

藏色散人
リリース: 2022-01-26 11:35:13
転載
2610 人が閲覧しました

Laravel の次のチュートリアル コラムでは、laravel hasManyThrough の使い方とパラメータについて紹介します。

最初のケース、これを導電性相関テーブル (シンプル モード) と呼びます。

国内には多くのユーザーがおり、ユーザーの投稿も多数あります

countries
    id - integer
    name - string

users
    id - integer
    country_id - integer
    name - string

posts
    id - integer
    user_id - integer
    title - string
ログイン後にコピー
特定の国のすべての投稿をクエリするにはどうすればよいですか?

countries はこのテーブル、posts は出力対象のテーブル、users は中間テーブル

return $this->hasManyThrough('App\Post', 'App\User', 'country_id', 'user_id');
ログイン後にコピー

2 番目のケースは、中間テーブル (純粋な中間テーブル) があります。

exam_paper(试卷表)id
nameexam_paper_question(试卷与试题中间表)id
exam_paper_id
question_idexam_question(试题表)id
name
ログイン後にコピー
exam_paper の ID を使用して質問をクエリしたいです

return $this->hasManyThrough('exam_question', 'exam_paper_question', 'exam_paper_id', 'id','id','question_id');
ログイン後にコピー
// 参数1 目标表类名
exam_question,
// 参数2 枢纽表类名
exam_paper_question,
// 参数3 枢纽表中和当前表关联的字段名
'exam_paper_question.exam_paper_id',
// 参数4 目标表和枢纽表关联的字段名
'exam_question.id',
// 参数5 当前表中和枢纽表关联的字段名
'exam_paper.id',
// 参数6 枢纽表和目标表关联的字段名
'exam_paper_question.question_id');
ログイン後にコピー
現在のテーブルが A とマークされている場合、ターゲット テーブルは B とマークされ、中間テーブルはC として、6 つのパラメーターは (B、C、CA、BC、AC、CB) としてマークされます。

推奨される学習: "

laravel ビデオ チュートリアル "

以上がlaravel hasManyThrough を使用して解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート