// app/models/User.php
<?php
class User extends Eloquent {
// each user BELONGS to many role
// define our pivot table also
public function roles() {
return $this->belongsToMany('Role', 'users_roles', 'user_id', 'role_id');
}
}
榜样:
// app/models/Role.php
<?php
class Role extends Eloquent {
// DEFINE RELATIONSHIPS --------------------------------------------------
// define a many to many relationship
// also call the linking table
public function users() {
return $this->belongsToMany('User', 'users_roles', 'role_id', 'user_id');
}
}
2 回答
hasMany
关系用于定义一对多关系,这就是为什么它会破坏您的查询 .我可以看出为什么你在思考一个有很多角色的用户,但是说一个用户属于很多角色并且角色属于很多用户也是非常好的英语 .
如果您只想查询一个模型及其关系,则无需在两个模型上定义关系 . 但是你能否明确地说你永远不需要查询角色关系?
我建议你,研究这个描述:http://scotch.io/tutorials/php/a-guide-to-using-eloquent-orm-in-laravel
它对你有用 .
(在没有“hasMany”的情况下,每个模型中只应使用“belongsToMany”)
用户模型:
榜样: