Je suis nouveau à Laravel et pas bon avec la syntaxe. Je veux voir les valeurs d'une autre table via la clé étrangère (ID de cette table).
https: // IBB .CO / PXRFRHRH Vous pouvez voir dans cette image, je reçois des identifiants sous l'utilisateur et la classe. Je veux les titres associés à ces identifiants. P>
J'ai des sections, des utilisateurs et une classe. J'utilise spécifiquement ... p> à partir de ceci, je reçois l'identifiant de la classe, mais je veux son nom aussi. P> class_id code> & user_id comme clé étrangère dans la table de la section. Lorsque j'essaie de montrer des données, je vois l'identifiant, mais je veux que le nom et les autres champs sont extraits de cet identifiant. p>
class Section extends Model
{
//
protected $fillable = [
'id',
'title',
'class_id',
'user_id',
];
public function classs()
{
return $this->hasMany('App\Classs');
}
}
3 Réponses :
Il est assez facile de faire exactement ce que vous voulez. Laravel est idéal pour créer des relations.
Vous aurez besoin du modèle de classe configuré en tant que relation sur votre modèle utilisateur. Voir Les Documents sur la façon de faire ce P>
devrait être quelque chose Proche de cela dans le modèle utilisateur puis, lorsque vous tirez les utilisateurs de la base de données dans le contrôleur fort> , vous pouvez inclure la relation directement: p> MAINTENANT, vous avez le modèle de classe associé dans votre collection pour chacun de vos utilisateurs, vous pouvez tirer le nom directement comme vous le souhaitez dans Votre forte> Vue de la lame forte>: p> Je suggère de tester avec ce simple dépotoir ci-dessus, car cela fonctionnera. Ensuite, vous pouvez essayer de joindre les différents modèles comme les catégories par la suite. P> Au fait - en utilisant la classe comme nom de classe va probablement vous faire valoir des problèmes. Suggère un léger changement là-bas. P> hth p> p>
J'ai essayé cela mais ça n'a pas fonctionné. Dois-je faire fonctionner des relations dans le modèle avant de l'utiliser?
Non, je vois que vous avez une configuration différente maintenant que vous avez posté votre contrôleur. Permettez-moi de modifier ma réponse pour réfléchir:
Oui, toutes ces charnières sur le modèle de classe soient une relation à l'intérieur du modèle d'utilisateur. Ne fonctionnera pas si vous n'avez pas créé la releaissance en premier. C'est pourquoi je suis lié aux docs - c'est la première étape, créant ainsi la relation
Vous devez déclarer vos relations du tout.
Dans votre em> modèle em> modèle, et classe em> modèle, p> Après cela, vous pouvez l'appeler comme ça; p> ou vous pouvez les appeler lorsque vous récupérez en vue comme ça; p> Ils ont appelé "relations éloquentes" Les relations de Laravel P> Assurez-vous de les lire car la documentation est trop claire pour comprendre quelque chose dans les temps record. P> Hasone et Hasmany ne sont qu'un exemple. Quel type de relation fonctionne pour vous pouvez changer. P> p>
Tout ce que vous avez à faire est plutôt que cela essayez ceci p> Je suppose que votre nom de table est en classe Vous souhaitez afficher le nom de la classe, de sorte que le nom de la classe de base de données (Nom de la colonne) serait simple de «nom», que la raison pour laquelle je mets dans le champ de valeur ... p> p>
S'il vous plaît partagez votre code Laravel, où vous envoyez cet objet
J'ai édité ma question. J'espère que ça marche.
Non, veuillez partager votre code de Laravel dans le contrôleur ou les fichiers de route.php (backend)