Мне просто любопытно, когда я должен использовать отношение «многие ко многим», отношение «имеет один сквозной», отношение «имеет много сквозного»? Потому что я уверен, что эти три отношения вполне реализованы отношениями один к одному и отношениями один ко многим.
пример (взят из документации Laravel):
таблица: пользователи
ID
имя
таблица: роли
ID
имя
таблица: RoleUser
ID
user_id
role_id
отношения достаточно, чтобы использовать один ко многим, а именно: «пользователь» имеет много «roleuser», а «role» имеет много «roleusers».
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The roles that belong to the user.
*/
public function roles()
{
return $this->belongsToMany('App\Role');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
/**
* The users that belong to the role.
*/
public function users()
{
return $this->belongsToMany('App\User');
}
}