Исключение RelationNotFoundException в RelationNotFoundException.php

#laravel #laravel-5

#laravel #laravel-5

Вопрос:

каждое hasMany свойство продукта.

когда я использую with функцию:

 dd(Product::with(ProductProperty::class)->get());
  

Я получил эту ошибку :

 RelationNotFoundException in RelationNotFoundException.php 
Call to undefined relationship [AppModelsProductProperty] on model [AppModelsProduct].
  

 class Product extends Model
{
    protected $table = 'products';


    protected $fillable = [
        'user_id' ,'brand_id' , 'title', 'price', 'current_buy','max_buy','min_buy_per_bill',
        'max_buy_per_bill','count','off','seri','short_description','long_description',
    ];



    public function ProductProperty()
    {
        return $this->hasMany('AppModelsProductProperty');
    }
}
  

 class ProductProperty extends Model
{
    protected $table = 'products_properties';

    protected $fillable = [
        'product_id' ,'parent_id' , 'title','value', 'price', 'current_buy','max_buy','min_buy_per_bill',
        'max_buy_per_bill','count','off','seri','short_description','long_description',
    ];

    public function Product()
    {
        return $this->belongsTo('AppModelsProduct');
    }
}
  

Ответ №1:

Глядя на ваш код, вы не можете использовать ::class с функцией with() . Основная причина в том, что ::class вернет полный путь с пространством имен.

Product::with(ProductProperty::class)->get(); неверно.

Замените его на Product::with('ProductProperty')->get();