gpt4 book ai didi

mysql - Laravel BelongsToMany 方法不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 05:54:59 25 4
gpt4 key购买 nike

我正在 Laravel 中实现多对多关系。这些实体是:用户角色和数据透视表 user_role

Users
====
id
name
.....

roles
====
id
role
...

user_role
======
userId
roleId

尝试各种方法来获取 userroles 但到目前为止还没有成功。有什么想法吗?

最后一次尝试是:

/**
* @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,

最佳答案

$user->roles()只是查询关系,并没有执行

你可以使用

$user->roles

如果您不需要添加额外的条件或

$user->roles()->where(your conditions)->get()

用于更复杂的关系查询。

主要区别在于 pharentesis 的使用:->roles->roles()。前者返回查询结果,后者返回查询本身

关于mysql - Laravel BelongsToMany 方法不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50289570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com