Laravel仅使用with返回数据库的第一个结果

超级DJ

对于我的API,我需要返回一个具有相应权限的角色。

该数据库如下所示: 在此处输入图片说明

模特角色:

public function permissions()
{
    return $this->belongsToMany( Permission::class );
}

模型权限:

public function roles()
{
    return $this->belongsToMany( Role::class );
}

当我从RoleController使用以下功能时:

/**
 * Show the form for editing the specified resource.
 *
 * @param  \App\Role  $role
 * @return \Illuminate\Http\Response
 */
public function edit( Role $role )
{
    return response()->json( $role->with('permissions')->first(), 200 );
}

我只能从角色中得到第一个结果,即使我发不同的角色也很难$role表示我发送角色2还是3从角色获得结果1

但是,我还检查了$role确实返回了正确角色的(2

角色的权限1确实很困难,所以主要的问题是为什么我只能从数据库中得到第一个结果?

杜威·德·汉

那是因为$first获得数据库中的第一条记录。如果已经具有角色对象,则应将查询更改为以下内容:

$role->load('permissions')

这将渴望加载权限。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

'simplexml'php到mysql数据库循环仅返回第一个元素

C#将DataGridView数据插入数据库成功,但仅返回第一个值n次?

从数据库检索元组的C#列表仅返回第一个可用的元组

在 ASP.NET MVC Core 6 中,数据库查询仅返回数据库的第一个元素作为所有相同的实例

JsonReader仅返回第一个结果

Foreach循环仅返回第一个结果

Laravel WhereIn数组仅返回第一个索引结果

Android仅显示我的第一个数据库搜索

实体框架 - 从数据库第一个存储过程返回 GUID

数据属性仅返回第一个值

使用Python从CSV处理数据,仅将其应用于第一个结果

使用Scaffold-DBContext设置数据库第一个EF项目

如何使用Python获取第一个8位CUSIP(compustat数据库)?

使用RXJS发出两个连续的http调用,并仅返回第一个调用的结果

UISearchController仅返回第一个结果,但Core Data有多个结果

查询我的数据库并以表格形式显示结果时,只能选择第一个

echo 只从数据库返回一个结果

Python中的多处理:仅保留返回的第一个结果

ASP.NET Core API仅返回列表的第一个结果

正则表达式匹配器仅返回第一个结果

如何对基于数组的文档进行排序并仅返回结果的第一个元素

搜索仅返回结构C中的第一个结果

Powershell:多个 Select-Object 语句仅返回第一个出现的结果

如何仅返回XPath中的第一个匹配结果?

在数组中搜索仅返回第一个结果

使用一个jQuery AJAX表单(或响应)返回两个数据库结果

Python函数仅返回第一个值,而不返回数据框

使用 ChildAdded 使用 swift 4 从 firebase 数据库中获取第一个键

SQL查询仅显示第一个结果,而不显示数组数据