首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Yajra Datatables [object Object],[object Object] Error

Laravel Yajra Datatables [object Object],[object Object] Error
EN

Stack Overflow用户
提问于 2020-04-02 21:01:21
回答 1查看 2.1K关注 0票数 1

以数组格式将数据记录到数据库工作者列。然后,我将以适当的JSON格式返回这些数据。我的问题只是从workers列中的嵌套数组中获取值​​,然后在datatable字段视图中显示它。我的密码如下。

Api控制器

代码语言:javascript
复制
public function apiZimmet()
    {
        /*
         test... ok it works
        $wdata=Zimmet::first();
        $workers = json_decode($wdata->workers , true);
        foreach($workers as $key => $value) {
                echo $value['spname']."<br>";
            }
        */

        $data = Zimmet::with('proje:id,name');
        return Datatables::eloquent($data)
        ->editColumn('workers', function ($data) {
            $workers = json_decode($data->workers , true);
            return $workers;
        })
        ->addColumn('action', function ($data) {
                return '<ul class="header-dropdown m-r--5">
                <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
                        <i class="material-icons">more_vert</i>
                    </a>
                    <ul class="dropdown-menu pull-right">
                        <li>
                        <a href="/system/stok-personeli/'.$data->id.'/edit" data-toggle="tooltip" data-original-title="Edit">Duzenle</a>
                    </ul>
                </li>
            </ul>';
            })->make(true);

    }

返回API文件如下

代码语言:javascript
复制
"data":[         
    {
        "id":"12",
        "name":"test",
        "sicil_no":"1234",
        "proje_id":"1",
        "visible":0,
        "workers":[
            {
            "spid":"1",
            "spsicil":"35678909",
            "spname":"ok"
            },
            {
            "spid":"6",
            "spsicil":"123456",
            "spname":"sdsf sdfsdf"
            }
        ],
        "deleted_at":null,
        "created_at":"2020-04-02 23:29:23",
        "updated_at":"2020-04-02 23:29:23",
        "proje":{
            "id":"1",
            "name":"deneme"
        },
        "action":"edit"
    }
],

视图中的文件ajax

代码语言:javascript
复制
ajax: {
    url: '{{route('api.zimmet')}}',
    method: 'POST'
},
columns: [
    {data: 'id', name: 'id', visible:false, searchable:false},
    {data: 'name', name: 'name'},
    {data: 'sicil_no', name: 'sicil_no'},
    {data: 'proje.name', name: 'proje.name'},
    {data: 'workers', name: 'workers'},
    {data: 'action', name: 'action', orderable: false, searchable: false}
],

当我在这里调用workers列时,给出对象对象,对象对象错误。我想要的是在视图文件中显示工人中的spname值​​。

诚挚的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-02 21:31:13

因为workers实际上是一个对象数组,如果您使用data: 'workers',您将得到确切的(对象名称)。

数据表使用它的数组括号语法支持这种情况。例如,您可以这样做:

代码语言:javascript
复制
{data: 'workers[, ].spname', name: 'workers'},

使用您的数据,它将在表单元格中打印出ok, sdsf sdfsdf。它遍历所有的spname项,并用逗号和空格分隔它们。

如果您想要更详细的内容,您可能需要预处理您的JSON --例如,将其扁平化。但以上可能足以满足你的需要。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61001041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档