我有一个queue
类,有多个rules
。我已经设置了我的课程:
class Queue extends Eloquent {
function rules()
{
return $this->hasMany('Rule');
}
}
class Rule extends Eloquent {
function queue()
{
return $this->belongsTo('Queue');
}
function displayInfo()
{
echo "Title: ".$this->title;
}
}
我希望获得属于queue
的所有规则并显示其信息,但是当我尝试这样做时:
$rules = $queue->rules;
foreach ($rules as $rule) {
$rule->displayInfo();
}
我得到以下异常:
Call to undefined method Illuminate\Database\Query\Builder::displayInfo()
有没有办法找回具有关系的规则的实际Eloquent模型表示?
答案 0 :(得分:0)
检查 $ rules (对象或数组)的类型。
答案 1 :(得分:0)
在集合上,您应该使用内置帮助程序,如下所述:
http://laravel.com/docs/eloquent#collections
然后您可以使用:
$rules = $queue->rules->each(function($rule)
{
return $rule->displayInfo();
});