Laravel:如何制作列名的键?

时间:2014-11-25 00:29:03

标签: php mysql laravel eloquent relationships

我现在已经在这个问题上弯曲了一段时间。有人可以帮助我吗?

我有两个表:products和product_attributes。该产品包含所有基本产品信息,product_attributes包含不同类别产品的所有特定信息。它很像洋红色属性系统。此表有4列:id,product_id,attribute_name,attribute_value。

现在让我们说一个产品有两个属性:

------------------------------------------------------
| id | product_id | attribute_name | attribute_value |
------------------------------------------------------
| 1  | 123        | length         | 123cm           |
------------------------------------------------------
| 2  | 123        | material       | Denim           |
------------------------------------------------------
| 3  | 123        | season         | Summer          |
------------------------------------------------------

现在,如果我建立了雄辩的关系并查询产品,我会得到一个包含所有三个属性的产品对象。到目前为止,这是我想要的。但现在在刀片模板中,我希望能够做到这样的事情:

$product->attribute->length

这是否可能,或者我是否需要采用完全不同的方法来实现这些目标(例如为不同的产品类型/类别创建不同的表)?

提前致谢!

1 个答案:

答案 0 :(得分:1)

length是一个元组值而不是您需要的属性

$product->attribute->where('attribute_name', 'length')

$product->attribute->whereAttributeName('length')