Maison  >  Article  >  cadre php  >  Comment utiliser Laravel hasManyThrough pour analyser ?

Comment utiliser Laravel hasManyThrough pour analyser ?

藏色散人
藏色散人avant
2022-01-22 09:14:452543parcourir

La colonne tutorielle suivante de Laravel vous présentera l'utilisation et les paramètres de laravel hasManyThrough. J'espère qu'elle sera utile à tout le monde !

De nombreux utilisateurs ont de nombreux utilisateurs, et il y a de nombreux utilisateurs dans le pays

countries
    id - integer
    name - string

users
    id - integer
    country_id - integer
    name - string

posts
    id - integer
    user_id - integer
    title - string
pour interroger tous les messages dans un certain pays. il?

countries est cette table, posts est la table cible à afficher et users est la table intermédiaire

return $this->hasManyThrough('App\Post', 'App\User', 'country_id', 'user_id');

Dans le deuxième cas, il y a une table intermédiaire (table intermédiaire pure)

exam_paper(试卷表)id
nameexam_paper_question(试卷与试题中间表)id
exam_paper_id
question_idexam_question(试题表)id
name
Nous devons interroger le question par l'identifiant de exam_paper
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');
Si la table actuelle est notée A, la table cible est notée B, la table intermédiaire est notée C et les 6 paramètres sont notés (B, C, CA, BC, AC, CB)

Apprentissage recommandé : "

tutoriel vidéo laravel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer