我是拉拉维尔模型关系的新手,我正试图通过建立一个基本的论坛系统来学习它。我正在努力使四分之一属于论坛的类别:
以下是我的ForumCategory模型:
class ForumCategory extends Eloquent {
protected $table = 'forum_categories';
public function forums()
{
return $this->hasMany('Forum','category_id');
}
}论坛模型名为forum,外键为category_id。
以下是论坛模式:
class Forum extends Eloquent {
protected $table = 'forums';
}下面是我尝试测试它的方法:
$category=ForumCategory::find(1);
print_r($category->forums());但是我从print_r得到的是一个非常大的对象,而不是相关的论坛。
谢谢。
发布于 2014-09-01 21:36:46
你想要的是雄辩者的动态属性,当你呼唤这种关系时。
为了说明:
// Return you chainable queries
$query = ForumCategory::find(1)-> forums()->...
// To actually return the forums
// You need to use get() since it is a chainable query builder
$query = ForumCategory::find(1)-> forums()->get();
// BUT, you can use Eloquent dynamic property
// Notice no '()'
// Return you collection of forums
$patientsCollection = ForumCategory::find(1)-> forums;本质上,您现在拥有的是QueryBuilder。
这里有更多关于这个的信息:http://laravel.com/docs/eloquent#querying-relations
https://stackoverflow.com/questions/25612793
复制相似问题