mysql - 从 SQL (Laravel) 检索 JSON 格式数组时遇到问题
问题描述
我在这里寻求帮助。
我一直在考虑将 JSON 数组存储到 MySQL 的列中并检索它们的数据。
问题是我还不知道该怎么做。
我设计了一个名为 employees 的表,其中包含以下字段:
id:主要标识符 json:保存 json 数组的位置
它看起来像这样:
我需要的是循环(迭代)通过json字段中的数组。我想我是用这段代码来获取数据的:
public function testjson() {
$arr = DB::table('employees')
->where('json->name', 'John')
->get();
return view('desktop.templates.testing', [
'data' => json_decode($arr, true),
]);
}
在循环进入视图时,我无法访问该数组,尽我所能。
不知道如何将json数组循环到视图中,例如获取员工姓名并打印出来。我正在尝试完成这样的事情:
有人可以帮助我吗?有没有更好的方法来实现这一点?先感谢您
解决方案
好的,所以我终于找到了我想要实现的解决方案。
控制器看起来像这样:
$x = collect(json_decode(Test::all(), true)); // Test:all() gets all values from the table I was working on
return view('desktop.templates.testing', [
'data' => $x
]);
在视图中,现在我可以轻松迭代:
@foreach ($data as $item)
<h1>{{ $item['json']['name']}}</h1>
<h2>Age: {{ $item['json']['age']}}</h2>
<h2>City: {{ $item['json']['city'] }}</h2>
@endforeach
最终结果:
谢谢大家的努力。希望这能帮助更多像我这样的人:D
推荐阅读
- r - 文件错误(文件名,“r”,编码 = 编码):无法打开连接
- sql - 使用没有提交语句的 DML 查询
- html - WebPack 4.29 和 html-loader 2.1.4 加载模块化的 html 文件
- php - 破坏“提交”按钮的功能
- javascript - 添加事件侦听器后函数运行次数过多
- postgresql - pg_dump 没有看到表
- javascript - 在级联选择中显示所选选项的名称
- php - 使用 Laravel 5 将 Metadata、headers (Expires、CacheControl) 添加到上传到阿里云 OSS 的文件中
- bash - 从 cli 触发 jenkins 工作
- php - 来自 xxxx 的 .htaccess 拒绝不使用 RewriteRule .* index.php [L]