【问题标题】:How do I get multiple relationships working properly?如何让多个关系正常工作?
【发布时间】:2014-01-08 13:03:48
【问题描述】:

目前,我可以从 items 表中提取所有产品,但我无法匹配 sizes_id,因为它们之间的关系是在 SizesToProducts 表中设置的。

数据库表如下:

  • 商品(id、product_id、数量)
  • 产品(ID、名称)
  • 尺寸(ID、名称)
  • 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');
    }

}

【问题讨论】:

    标签: php mysql laravel-4 database-relations


    【解决方案1】:

    您真的需要 SizesToProducts 表的 id 列吗?我对 Laravel 不太熟悉,但它有 many-to-many 关系。也许这就是你要找的?

    【讨论】:

    • 是的,我愿意,通常不需要,但对于这个自定义购物车,它是必需的。这一切都是几年前使用标准 OOP PHP 编码完成的。所以我只是想把它作为一个副项目重做,以了解更多关于 Laravel 的信息
    猜你喜欢
    • 2015-03-22
    • 1970-01-01
    • 2015-05-08
    • 2020-08-27
    • 2018-06-11
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多