无法从具有不同表名的 belongsToMany 检索关系

cant retrieve relation from belongsToMany with different tablename

我得到了下表:

| messages |   | likes      |
| id       |   | id         |
| content  |   | message_id |
               | user_id    |

我想从一条消息中检索所有的赞。

目前我在 Message 模型上有这个关系:

public function likes()
{
    return $this->belongsToMany('App\Entities\Like', 'likes', 'message_id', 'id');
}

但是当我 dd(Message::find($id)->likes()->get()->toArray()); 我得到一个例外:

Syntax error or access violation: 1066 Not unique table/alias: 'likes'

您需要定义 Message 模型和 Like 模型之间的关系。

message.php

public function likes()
{
   return this->hasMany('App\Entities\Like');
}