【发布时间】:2015-02-04 20:01:52
【问题描述】:
假设我的列表模型与属性模型具有一对多关系:
class Listing extends Eloquent {
public function attrs() {
return $this->hasMany('Attribute');
}
}
class Attribute extends Eloquent {
public function listing() {
return $this->belongsTo('Listing');
}
}
属性有一个代码和一个值。在处理清单时,我希望能够使用属性的代码获取特定属性,如下所示:
$val = Listing::find($id)->attrs[$code]->value;
上面这行显然行不通。有很多方法可以解决这个问题(例如,维护一个由代码索引的内部关联属性数组并将其填充到 attrs() 方法中;提供一个 getter 函数并通过 attrs 数组进行暴力搜索),但我想知道是否有一种优雅的方式可以使用 Laravel 内置的东西来做到这一点。
有比我上面建议的更好的想法吗?
【问题讨论】:
标签: laravel eloquent relationship