dsjojts9734 2016-02-06 03:09
浏览 28
已采纳

如何在laravel 5.2中定义“跟随”关系

Recently I use Laravel to define the 'follow' relationship between users. Here are the models:

class User extends Model
{
    public function follows()
    {
        return $this->morphMany('App\User', 'followable');
    }
}

class Follow extends Model
{
    public function followable()
    {
        return $this->morphTo();
    }
}

and the database for Follow is like this:

follows:
    - id:
    - user_id:
    - followable_id:
    - followable_type:

all the above are defined according to the examples which Laravel documents provides.

And now I can retrieve the user model like this:

$follow = Follow:find(1);
$user = $follow->followable;

But when I write code like this:

$followers = $user->follows;

I get errors:

Relationship method must return an object of type 
Illuminate\Database\Eloquent\Relations\Relation

here is my question: Did I define the relationship of 'follow' right? and how can I fix the errors?

Thanks.

  • 写回答

1条回答 默认 最新

  • doushangxianq07480 2016-02-06 04:27
    关注

    try this

    class User extends Model
    {
        public function follows()
        {
            return $this->morphMany('App\User', 'followable');
        }
    }
    

    change in to

        class User extends Model
    {
        public function follows()
        {
            return $this->morphMany('App\Follow', 'followable');
        }
    }
    

    because your have given model name is incorrect.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?