我有三个这样的表:

Car
 -id
 -name
 -production_start
 -etc

Option
 -id
 -name
 -price

Options_Cars
 -id_option
 -id_car
 -in_basic

用这样的代码:

class Cars extends Eloquent {     
    public function options()
    {
        return $this->belongsToMany('Options','options_cars','id_car','id_option');
    }
}

如何检索视图中每个选项的in_basic字段?

#1楼 票数:1

我可能会在您的架构上进行扩展,并添加另一个表以区分汽车的基本模型和添加了额外功能的模型,但仍将所有选项作为构建块。 例如

Car
  -id
  -name
  -production_start
  -etc
Option
  -id
  -name
  -price
  -etc
Cars_BasicOptions
  -car_id
  -option_id
Cars_ExtraOptions
  -car_id
  -option_id

但这也给我带来了一个新问题-由于期权具有价格标签,因此不再通用。 考虑将金属喷漆作为一种选择-菲亚特Punto的价格与梅赛德斯SLS-AMG的价格是否相同? 我对此表示怀疑。因此,您认为的Option可能根本不适用于这种泛型。 根据您的业务逻辑,执行以下操作可能更合适:

Car
  -id
  -name
  -production_start
  -etc
Option
  -id
  -car_id
  -name
  -price
  -in_basic
  -etc

当然,如果要单独处理选项,可以将其移动到其他表中,例如...

Car
  -id
  -name
  -production_start
  -etc
Option
  -id
  -name
Car_Option
  -car_id
  -option_id
  -price
  -in_basic
  -etc

这可能更接近您的原始想法。 有帮助吗?

#2楼 票数:1 已采纳

http://laravel.com/docs/5.0/eloquent#working-with-pivot-tables

return $this->belongsToMany('App\Role')->withPivot('foo', 'bar');

使$model->pivot->foo$model->pivot->bar可用。

这适用于L4和L5。

  ask by Robus translate from so

未解决问题?本站智能推荐:

3回复

在Laravel 4中如何查询ManyToMany关系?

在Laravel 4中,我有下表 我的问题: 我要获取具有以下两个标签“ foo”和“ bar”的所有项目吗? 只有具有两个标签的项目才应返回! 更新 我已经尝试了以下方法,但是对我来说不起作用,我觉得问题出在“->具有”子句,但我无法正确理解, 假设标签
1回复

GroupBy来自Laravel 5.5中HasManyThrough通过ManyToMany关系的结果

我有一个复杂的关系,例如Category和Products之间的ManyToMany关系,并且一个Product可以具有来自不同Shops(用户)的许多Inventory清单。 一个Shop可以将同一Product多个列表作为一个变体(颜色/尺寸)。 到目前为止一切都很好! 当向访
1回复

Laravel-与其他关系的ManyToMany数据透视表

在Laravel 5.2中,可以说我在Post和Tag两个模型之间有一个ManyToMany关系(为示例起见)。 但是,它们之间的数据透视表也与另一个表有关系: 如您所见, posts_tags表示Post和Tag之间many-to-many关系。 但是,这种关系的实例与Priori
2回复

从不同关系中获取最新信息雄辩的laravel

我有3张桌子 模型网址 型号UrlStatus 模型使用者 在我的控制器中,我正在查询: 如何获取最新的url_status? 编辑- 这是迁移文件中每个表的结构 网址表 网址状态 用户表
1回复

laravel与信息的关系

我有产品表和国家表,它们假定彼此之间存在多对多关系,但为该关系包含附加参数。 所以在产品中有产品编号,名称 在国家/地区中有国家/地区ID,名称 在product_country中有country_id,product_id,价格 产品型号: 国家模型:
1回复

Laravel 5.8 ManyToMany 关系子关系使用外键不起作用

当我调用我的图像资源时,它会从我的模型中返回正确的数据: 图片资源: 图像模型: 返回: 但是当我调用 manyToMany (Products -> images) 关系时,我只得到 Id 而不是外部关系 Products 资源调用图像资源,但这不会加载关系(需要“pre
2回复

在Laravel中如何按关系过滤?

我有两个相互关联的模型: 现在,我想创建一些搜索或过滤系统。 有一种形式,用户只能选择任务,然后才能选择用户的参数(年龄,性别等) 我该怎么办? 我尝试在关系上使用newQuery,但是...有任何帮助,谢谢
2回复

Laravel中的关系

我有两个表, Galleries和Gallery_items 。 在Galleries我保存了有关作者的信息。 在Gallery_items我保存图库包含的每张图片。 现在我想的第一张图片在每个画廊,标题是蒙娜丽莎作者为达芬奇 。 我测试了: 但这是行不通的。 我收到一