小编use*_*671的帖子

使用ng-repeat循环遍历格式化为字符串的数组

我最近开始将Angular添加到我制作的旧应用程序中.部分应用程序将json编码的数组存储在mySql表的单个单元格中.我知道这是不赞成的,但我百分百肯定它以后不会再回来咬我了.在过去,我刚刚能够在数组上执行json_decode并在有序列表中输出值.由于我已经包含了Angular,因此数据被编码并在php文件的末尾进行回显.然后它被Angular代码拾取,我能够遍历这个深度嵌套的多维对象,直到它到达这个部分......

"sub_items":"[\"subOne\",\"subTwo\",\"subThree\"]"
Run Code Online (Sandbox Code Playgroud)

我能得到的最接近的是输出包含所有反斜杠,括号和引号的字符串,因为它是一个字符串.

我已经尝试在sub_items的每个实例上执行json_decode,但它不起作用.我认为那是因为整个事情再次被编码.

我怎么能循环遍历这个数组?

编辑

根据@Yaser Adel Mehraban的答案中的评论,我在以下方面取得了一些进展.

foreach($master as $index => $item) {
    if($category == $item['category']) {
        $sub = [];
        $sub['sub_items'] = json_decode($item['sub_items']);
        unset($item['sub_items']);
        array_push($items, $item, $sub);
    }
}
Run Code Online (Sandbox Code Playgroud)

这回来了

...created_at":"2016-11-01 14:19:07"},{"sub_items":["subOne","subTwo","subThree"...
Run Code Online (Sandbox Code Playgroud)

现在我认为我遇到麻烦的数组的格式是正确的,但它位于项目之外.我也尝试过array_merge,但它添加了一个新的密钥,这会强制我不必要的ng-repeat来降级.建议...

php arrays json angularjs

8
推荐指数
1
解决办法
474
查看次数

能够使用Eloquent在Slim应用程序的生产版本中获取集合,但不能过滤数据

我一直在研究Slim 2,刚刚开始部署到生产服务器.到目前为止,一切似乎都运转良好.我能够登录,所以我知道我正在连接到数据库就好了.它识别出我已登录的用户,因为我已经识别出该用户的权限.我有另一个表有几个条目.当我做...

$collection = collect($app->item->where('user_id', $userId)->get());
Run Code Online (Sandbox Code Playgroud)

然后...

print_r($collection);
Run Code Online (Sandbox Code Playgroud)

在生产服务器上,我看到整个集合就像我在开发服务器上那样,但是当我添加...

$pack = $collection->where('status', 1);
Run Code Online (Sandbox Code Playgroud)

而不是打印集合,尝试打印包像......

print_r($pack);
Run Code Online (Sandbox Code Playgroud)

这条消息回来了......

Illuminate\Support\Collection Object ( [items:protected] => Array ( ) )
Run Code Online (Sandbox Code Playgroud)

在开发版本的哪个地方,我得到了过滤集合,正如我所期望的那样.如何更改代码以在开发和生产环境中工作?

slim eloquent

7
推荐指数
1
解决办法
124
查看次数

标签 统计

angularjs ×1

arrays ×1

eloquent ×1

json ×1

php ×1

slim ×1