0
votes

Obtenir l'attribut du modèle sélectionné

J'utilise PHP 7.1.33 CODE> et CADRE DE LARVAVAVION 5.8.36 CODE>.

Je reçois un modèle de retour par nom comme le produit suivant: : Où ('Nom', '=', Nom $) -> get (); code> p>

mon produit code> Le modèle ressemble à: p> xxx pré>

Lorsque vous essayez d'obtenir un attribut, je reçois une erreur suivante: P>

$product = Product::where('name', '=', $name)->get();
$product->$url; // ERROR
$product->$category; // ERROR


0 commentaires

3 Réponses :


2
votes

n'utilise pas get () si vous n'attendez qu'une instance de modèle unique. -> get () retourne un Collection , et vous ne pouvez pas accéder à une seule propriété sans boucle.

Utiliser -> premier () ou une méthode similaire comme FirstorFail () , rechercher () , findorfail () , etc.: est-ce que vous attendez plusieurs instances, puis Vous pouvez utiliser -> get () en conjonction avec une boucle: xxx


0 commentaires

1
votes

de votre requête Vous obtiendrez de nombreuses données de sorte que vous devez accéder à celui de ce type xxx

mais je pense que si vous avez une donnée pour un nom particulier, utilisez Premier () xxx


0 commentaires

2
votes

Essayez ceci:

$product = Product::whereName($name)->first();
$product->$url;
$product->$category;


0 commentaires