Недавно я использую Laravel для определения отношений «follow» между пользователями. Вот модели:Как определить отношения «следовать» в laravel 5.2
class User extends Model
{
public function follows()
{
return $this->morphMany('App\User', 'followable');
}
}
class Follow extends Model
{
public function followable()
{
return $this->morphTo();
}
}
и база данных для выполнения диагностики, как это:
follows:
- id:
- user_id:
- followable_id:
- followable_type:
все выше, определяется в соответствии с примерами, которые Laravel documents предоставляет.
И теперь я могу получить модель пользователя так:
$follow = Follow:find(1);
$user = $follow->followable;
Но когда я пишу такой код:
$followers = $user->follows;
я получаю ошибки:
Relationship method must return an object of type
Illuminate\Database\Eloquent\Relations\Relation
здесь является мой вопрос: Я определил отношение «следовать» правильно? и как я могу исправить ошибки?
Спасибо.