laravel - Laravel:与多个咨询
问题描述
我有以下查询:
$items = RequestItems::where('requests.user_id', '=', $user->id)
->orderBy('requests.id', 'desc')
->with(['item', 'image', 'gratitude', 'item.user', 'gratitude.gratitude_image'])
->paginate(10);
我从中得到:
我尝试从 Blade 访问 foreach 中的Thanks_image 字段,但它没有给我:
{{$item->gratitude->gratitude_image[0]}}
但它没有给我带来信息。请帮忙……</p>
解决方案
你真的不需要使用with
. 基本上有两种类型的加载,lazy loading
,eager loading
。还有一个你可以添加lazy eager loading
。
那么你现在应该如何处理这些条款呢?只需在相应的模型类中定义所需的关系,然后在刀片文件中即可简单地使用lazy loading
,而无需使用with
.
例子:{{ $item->gratitude->gratitude_image[0]->id ?? 'Not Found' }}
在这里,这是一个条件语句。如果存在 anid
那么它将被打印,否则Not Found
将被打印。除了直接调用0th index
,您还可以使用foreach
循环遍历所有条目。
推荐阅读
- python - 以下代码有什么区别?
- file - Uipath 中的 Readcsv 活动问题
- c# - 显示来自 do while 循环 C# 的用户输入
- git - 这个分支是 xy:master 之前的 x 次提交
- php - oci_bind_array_by_name 仅适用于具有数字索引的数组,不适用于关联数组 php
- python - 无法安装 MetaTrader5
- javascript - if else 条件下 javascript 中提示值的数据类型
- amazon-web-services - AWS IAM 策略通过 ec2-instance-connect 限制对特定 ec2 实例的访问
- android - 如果未找到指纹,则使用 Pin 或模式进行身份验证 Android
- html - 使用 flex 垂直居中在 Internet Explorer 11 中无法正常工作