我想在laravel4中创建活动源,所以我用多态关系做了这个,其中Feed模型有item()函数,这里是:
class Feed extends \Eloquent
{
protected $table = 'feed';
public function item()
{
return $this->morphTo();
}
}
然后我为儿童模特添加了其他关系:
class UserStatus extends \Eloquent
{
protected $table = 'user_status';
public function feed()
{
return $this->morphMany('Feed', 'item');
}
}
class Photo extends \Eloquent
{
protected $table = 'photo';
public function feed()
{
return $this->morphMany('Feed', 'item');
}
}
但是当我查询用户的活动时,它显示: 类名必须是有效对象或字符串
这是我在用户模型中的查询:
class User extends \Eloquent
{
public function activities()
{
return $this->hasMany('Feed', 'user_id')->with('item')->get();
}
}
如何为用户获取活动列表(父多态模型Feed)?
答案 0 :(得分:0)
来自文档...
多态关系允许模型属于多个其他模型 模型,单一关联。例如,您可能有一张照片 属于员工模型或订单模型的模型。
这允许子对象(例如照片或评论)属于多种类型的父对象。我认为你正试图做相反的事情 - 一个有多种孩子的单亲。