【发布时间】:2020-05-13 17:52:29
【问题描述】:
我需要帮助,没有发现任何可疑之处 :c 感谢您的帮助!
Error Collection::addEagerConstraints does not exist 出现在调用之后:
public function show(Request $request, User $user)
{
$user->load('permissions');
dd($with);
return UserResource::make($user);
}
用户模型:
class User extends Authenticatable
{
(...)
//////////////////////////////////////////////////////////////////////////////////////////
///
/// Relationships
///
//////////////////////////////////////////////////////////////////////////////////////////
/**
* Relationship to permissions
*
* @return RolePermissions
*/
public function permissions()
{
return $this->role()->first()->permissions;
}
}
【问题讨论】:
-
try : return $this->role()->with('permissions')->get()-> first()->permissions;
-
你有桌子
permissions吗?还是permissions只是roles中的一列? -
@OMR 那还是不行;您不能在非关系上调用
->load(),除非 Permission 是模型(我怀疑它不是),否则需要更改此代码。 -
如果你使用标准的 laravel 用户,你可以简单地删除你的“权限”关系并使用现成的关系: $permissionNames = $user->getPermissionNames(); // 名称字符串集合 $permissions = $user->permissions; // 获取用户权限
-
谢谢我解决了问题:) 非常感谢