php - Laravel Spatie - 为什么显示的 [object Object] 不是来自数据库的确切值?
问题描述
我正在使用 Spatie 在我的网站上记录活动。我创建了一个表,其中将显示来自 activity_log 数据库表的数据。从数据库中检索数据没有问题,但我的问题是,每当我显示properties
列中的值时,它只显示[object Object]
.
数据表如下所示:
虽然它在数据库表中的实际值activity_log
是这样的:
这是我的控制器中的代码段:
public function datatable_Activities()
{
$data = Activity::all()->where('causer_id', '=', Auth::user()->id);
return Datatables::of($data)->make(true);
}
用于在我的刀片文件中显示数据的代码段:
<script>
$(function () {
$("#activity_table_log").DataTable({
responsive:true,
processing:true,
pagingType: 'full_numbers',
stateSave:false,
scrollY:true,
scrollX:true,
ajax:"{{route('datatable_Activities')}}",
order:[0, 'desc'],
columns:[
{data:'log_name', name: 'log_name'},
{data:'description', name: 'description'},
{data:'subject_id', name: 'subject_id'},
{data:'properties', name: 'properties'},
{data:'created_at', name: 'created_at', searchable: false, sortable:false},
]
});
});
</script>
我已经尝试过
json_decode()
,但不幸的是它不起作用。如何正确显示它,就像存储properties
在数据库中的列中的值而不是[object Object]
?
但是,当我在 Developer's Tool 中检查响应时,它会准确地从数据库中检索属性值。
这是我试图放入数据表中的示例嵌套 JSON 对象:
{
"id":6,
"log_name":"PurchaseH",
"description":"A purchase h has been updated",
"subject_id":1,
"subject_type":"App\\Model\\Purchase\\PurchaseH",
"causer_id":1,
"causer_type":"App\\User",
"properties":{
"attributes":{
"total":1250000
},
"old":{
"total":null
}
},
"created_at":"2020-06-14T09:04:34.000000Z",
"updated_at":"2020-06-14T09:04:34.000000Z"
},
PS 我正在使用最新的 Google chrome、Laravel 框架和 Spatie。
解决方案
推荐阅读
- ios - swift for循环遍历json对象不会为字符串添加值
- laravel - Laravel Horizon worker:空闲内存使用
- c++ - 如何将一些文本保存到包含空格的字符串中?
- android - 如何使用 FCM 在颤振中推送通知
- javascript - 我的自定义滑块图像显示在原始域上,但不在虚拟域上(仅适用于移动设备)
- python - Docker Python API 更新方法生成 TypeError: unhashable type: 'dict'
- python - 错误:无法为使用 PEP 517 且无法直接安装的 esmre 构建轮子
- firebase - 如何在移动浏览器上的 firebase 消息中修复 pushSubscription 为空?
- android - 如何将我开发的 android 应用程序作为服务出售给其他应用程序
- python - 将线条的黑白图像矢量化为无粗细的矢量(即坐标)