我正在拉雷维尔实施多对多关系。实体包括:
users roles
数据透视表 user_role
```
Users
id
name
.....
roles
id
role
...
user_role
userId
roleId
尝试各种方法来获得 `roles` 的 `user` 但到目前为止运气不好。有什么想法吗?
最后一次尝试是:
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function roles()
{
return $this->belongsToMany(Role::class, 'user_role', 'userId', 'roleId');
}
laravel tinker的电流输出:
$user->roles()
=> Illuminate\Database\Eloquent\Relations\BelongsToMany {#2380
+withTimestamps: false,
1条答案
按热度按时间nwlqm0z11#
$user->roles()
只是对关系的查询,不执行你可以用
如果您不需要添加额外的条件或
对于更复杂的关系查询。
关键区别在于pharentesis的用法:
->roles
与->roles()
. 前者返回查询结果,后者返回查询本身