Laravel obtient le nom de la classe du modèle associé
Dans mon application Laravel j'ai un Faq
modèle. Un Faq
modèle peut contenir de nombreuses Product
modèles, de sorte que le Faq
classe contient la fonction suivante:
class Faq extends Eloquent{
public function products(){
return $this->belongsToMany('Product');
}
}
Dans un contrôleur, je voudrais être en mesure de récupérer le nom de la classe qui définit la relation. Par exemple, si j'ai un Faq
objet, comme ceci:
$faq = new Faq();
Comment puis-je déterminer le nom de la classe de la relation, qui dans ce cas serait Product
. Actuellement, je suis en mesure de le faire comme ceci:
$className = get_class($faq->products()->get()->first());
Cependant, je me demandais si il existe un moyen pour accomplir cette même chose sans avoir à exécuter une requête.
source d'informationauteur flyingL123
Vous devez vous connecter pour publier un commentaire.
Oui, il y a un moyen d'obtenir un modèle associé sans requête:
Elle fonctionne pour toutes les relations.
Ce sera le retour de nom complet avec espace de noms. Dans le cas où vous voulez juste de base nom:
Je pense que vous ne pouvez pas le faire. Je ne sais pas ce que vous en avez besoin, mais vous pouvez tout simplement ajouter de la méthode où vous avez mis toutes vos relations de classe nom et d'où vous revenez vous voulez: