Partage
  • Partager sur Facebook
  • Partager sur Twitter

Trying to get property 'name' of non-object

Laravel 5.8 erreur

18 mai 2019 à 13:24:54

Bonjour,

j'ai une erreur assez bizarre  !

j'ai deux tables :

categories:

public function up()
    {
        Schema::create('categories', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->text('description')->nullable();
            $table->text('image');
            $table->timestamps();
        });
    }



products:

 public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->decimal('price');
            $table->text('remarque')->nullable();
            $table->unsignedBigInteger('category_id');
            $table->unsignedBigInteger('sub_category_id');
            $table->unsignedBigInteger('dimension_id');
            $table->timestamps();
        });
    }



Model category:

public function products()
    {
        return $this->hasMany('App\Models\Product');
    }

Model product:

 public function category()
    {
        return $this->belongsTo('App\Models\Category');
    }

quand j'essaie d'excuter le code :

$product = Product::find(1);        
dump( $product->category->name );
die();

il m'affcihe l'erreur "Trying to get property 'name' of non-object" je ne comprends pas du tout pourquoi ?

Merci !




-
Edité par Mariyam@chemrah 18 mai 2019 à 13:26:48

  • Partager sur Facebook
  • Partager sur Twitter
18 mai 2019 à 17:36:21

Bonjour.

Peut-être que le produit que tu récupères, n'est pas lié à une catégorie, par conséquent tu ne peux pas accéder à une propriété qui n'existe pas.

Fais plutôt dump($product->category), pour voir si tu récupères bien une catégorie pour ce produit, car d'après le message d'erreur tu essaies d'accéder à une propriété sur quelque chose qui n'est pas un objet.

-
Edité par Lartak 18 mai 2019 à 17:38:42

  • Partager sur Facebook
  • Partager sur Twitter

Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

20 mai 2019 à 11:15:47

Bonjour,

Oui quand je fais dump($product->category)  il me retourne null,  en fait le problème a été résolu, je découvre que j'ai déjà un model qui porte le même nom de la classe Product et qui était vide y a eu un conflit je pense, mais ce que je ne comprends pas pourquoi qu'on j'ajoute  des enregistrements dans la table products avec son model il m'affiche aucun problème mais q'on j'essaie d'accéder à ses fonctions il va vers l'autre model ?

  • Partager sur Facebook
  • Partager sur Twitter