【问题标题】:Create Activity Feed in Laravel4 with polymorphic relations在 Laravel4 中创建具有多态关系的 Activity Feed
【发布时间】:2014-02-11 03:41:09
【问题描述】:

我想在 laravel4 中创建活动提要,所以我用多态关系完成了这个,其中提要模型具有 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)?

【问题讨论】:

    标签: laravel-4 eloquent polymorphic-associations feed


    【解决方案1】:

    来自文档...

    多态关系允许模型属于多个其他模型 模型,在单个关联上。例如,您可能有一张照片 属于人员模型或订单模型的模型。

    这允许子对象(例如照片或评论)属于一种以上类型的父对象。我认为你正在尝试做相反的事情 - 一个有多种孩子的单亲。

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-05
      • 2015-02-16
      • 1970-01-01
      • 2016-04-22
      相关资源
      最近更新 更多