2013-12-19 3 views
1

В настоящее время я могу вытащить все продукты из таблицы элементов, но я не могу сопоставить sizes_id, так как отношения между ними установлены в таблице SizesToProducts.Как заставить несколько отношений работать правильно?

таблицы базы данных являются следующие:

  • Items (идентификатор, product_id, количество)
  • Products (идентификатор, имя)
  • Размеры (идентификатор, имя)
  • SizesToProducts (ID, product_id , sizes_id, цена)

Вот мои модели:

//--- Item Class 
class Item extends \Eloquent { 

    protected $table = '_cart_item'; 

    function product() 
    { 
     return $this->hasMany('App\Models\Product','id'); 
    } 

} 

//--- Product Class 
class Product extends \Eloquent { 

    protected $table = '_products'; 

    public function items() 
    { 
     return $this->belongsTo('Item'); 
    } 

    public function size() 
    { 
     return $this->hasMany('Product','product_id'); 
    } 
} 

//--- Size Class 
class Size extends \Eloquent { 

    protected $table = '_sizes'; 

    public function product() 
    { 
     return $this->belongsTo('SizeToProduct','sizes_id'); 
    } 

} 

//--- SizeToProduct Class 
class SizeToProduct extends \Eloquent { 

    protected $table = '_sizes_to_products'; 

    public function items() 
    { 
     return $this->belongsTo('Product','sizes_id'); 
    } 

} 

ответ

0

Вам действительно нужен столбец идентификатора таблицы SizesToProducts? Я не очень хорошо знаком с Laravel, но имеет отношение many-to-many. Может быть, это то, что вы ищете?

+0

Да, обычно, это не понадобилось, но для этой пользовательской тележки требуется. Это было сделано много лет назад со стандартной кодировкой PHP OOP. Поэтому я просто пытаюсь переделать это как побочный проект, чтобы узнать больше о Laravel – user3120527