在雄辩中,我看到了“多对多”的关系: http://laravel.com/docs/eloquent
我没有使用迁移并制作了两个表'用户'和表#角色'在phpmyadmin。 他们都有一个' id'和' name'柱。现在我做了以下模型:
class User extends Eloquent {
public function roles()
{
return $this->belongsToMany('Role');
}
}
class Role extends Eloquent {
public function users()
{
return $this->belongsToMany('User');
}
}
我的第一个问题是。还是需要在phpmyadmin中建立联结表吗? 如果是,我如何告诉Eloquent(例如' users_roles')是我的联结表?
答案 0 :(得分:0)
是的,您仍然需要创建表格。
在模型中,将表名添加为belongsToMany的第二个参数。
答案 1 :(得分:0)
您确实必须拥有该表,并且您可以遵循Laravel约定或在$this->belongsTomany();
的调用中手动指定它。这两种方式都记录在Eloquent documentation中。约定按字母顺序和单个表名(角色,用户,role_user)。要在通话中指定它,您可以指定各种事物:return $this->belongsToMany('ForeignModel', 'pivot_table', 'local_id', 'foreign_id');