J'utilise Je reçois un modèle de retour par nom comme le produit mon Lorsque vous essayez d'obtenir un attribut, je reçois une erreur suivante: P> PHP 7.1.33 CODE> et
CADRE DE LARVAVAVION 5.8.36 CODE>.
suivant: : Où ('Nom', '=', Nom $) -> get (); code> p>
produit code> Le modèle ressemble à: p>
$product = Product::where('name', '=', $name)->get();
$product->$url; // ERROR
$product->$category; // ERROR
3 Réponses :
Utiliser get () code> si vous n'attendez qu'une instance de modèle unique. strong>
-> get () code> retourne un
Collection CODE>, et vous ne pouvez pas accéder à une seule propriété sans boucle.
-> premier () code> ou une méthode similaire comme
FirstorFail () Code> ,
rechercher () code>,
findorfail () code>, etc.: est-ce que vous attendez plusieurs instances, puis Vous pouvez utiliser
-> get () code> en conjonction avec une boucle: p>
de votre requête Vous obtiendrez de nombreuses données de sorte que vous devez accéder à celui de ce type mais je pense que si vous avez une donnée pour un nom particulier, utilisez Premier () code> strong> p>
Essayez ceci:
$product = Product::whereName($name)->first(); $product->$url; $product->$category;