php - 读取数组的第一条记录而不是 Laravel 中的第一个字符
问题描述
我正在使用 Laravel 8 。我在我的数据库中保存了一些数组,当我尝试读取这些数组时,我只得到它的一个字符。
例如数据库中的数组是["one", "two"]
,当我写
@foreach ($xs as $x)
<li>
{{ $x->y[0] }}
</li>
@endforeach
它只会显示 '[' 而不是 'one'
在我的迁移文件中,我这样做了:
$table->json('y');
and in my model i did this :
protected $casts = [
'y' => 'json',
];
在模型中我也尝试过这个:
protected $casts = [
'y' => 'array',
];
在我的控制器中,我做了类似的事情来显示数据:
public function showData(){
$x = DB::select('select * from x');
return view('home',['x'=>$x]);
}
解决方案
我已经解决了这个问题。问题是我在表上调用记录的方式。我错过了添加
use App\MyModel;
到我的控制器。在我的控制器中我曾经写过
$x = DB::(select * from mytable);
我将其更改为:
$x= MyModel::all();
推荐阅读
- angular - 如何将配置参数传递给角度库?
- mongodb - 如何在mongodb的条件语句中使用元素匹配?
- python - 如何去除重叠轮廓并将每个字符分离为单独的轮廓以进行字符提取?
- webrtc - ICE vs STUN vs TURN
- python - dict() 函数改变列表中元素的顺序
- docker - 如何在 docker compose 中引用环境变量作为卷创建的一部分
- javascript - 我的视频不能仅在移动设备上自动播放,我的代码有什么问题?
- node.js - 即使对于新/小型项目,Angular8,Ng serve 在我的机器上也很慢
- ios - Kotlin/Native:有人可以帮我建议如何创建一个接受 init 参数的冻结单例吗?
- google-apps-script - 使用谷歌脚本在谷歌工作表中双击单元格时提示输入