gpt4 book ai didi

javascript - 操作 Json(传递到 View 之前)

转载 作者:行者123 更新时间:2023-11-28 06:48:29 24 4
gpt4 key购买 nike

我想做的是使用像 ->diffForHumans() 这样的函数。当我尝试通过ajax获取数据时,我不知道如何在javascript中操作json,所以我决定在服务器级别进行。

我的$groups数据如下:

Group[1]['created_at']
Group[2]['created_at']
Group[3]['created_at']

我正在使用 return $groups->toJson(); 将其返回以查看。

我有 2 个问题。

  • 如何操作 json 以便能够再次使用 diffForHumans() 函数将其获取为 created_at ?因此我可以稍后在 JavaScript 中调用 Group[i]['created_at'],并获取每个组的操作值。

  • 当我返回 Blade View 时,我能够使用诸如 {{{ (strlen($group->body) > 150) 之类的函数? substr(($group->body),0,170)."...": $group->body }}}.因为我使用的是ajax,所以我认为这个函数最好在后端级别上进行,然后再传入json。

这种做法对吗?我想要实现的目标的最佳方法是什么?

<小时/>

编辑我的第一个问题:

我可以将其获取为 dd($groups[2]['created_at']->diffForHumans());但是,我无法让它工作:

foreach($groups as $key=>$group) {
dd($group); // collection
dd($key); // 0
dd($group[$key]); // null
}

最佳答案

您可以使用 transform 方法,而不是尝试将对象转换为数组(从而丢失集合和 toJson 方法)。

$groups->transform(function($item, $key) {
$item->created_at = $item->created_at->diffForHumans();
return $item;
});

return $groups->toJson();

关于javascript - 操作 Json(传递到 View 之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com