【发布时间】:2021-01-26 09:45:38
【问题描述】:
如果我做错了,请纠正我。
我的数据库中插入了一个 JSON 编码数组
插入后是这样的
["Time Ultra,5.00,5","Downy Antibac,7.00,3","Zonrox Bleach,12.00,1"]
如果我不解码它与 fetch 相同,那么它将按原样显示。
现在我想更新,比如说我想更新或删除中间部分
“Downy Antibac,7.00,3”
如何更新或删除它。
到目前为止,这是我在插入部分的代码
$activities = Activities::find($request->input('activityid'));
$itemList = Activities::where('id', $request->input('activityid'))->pluck('item_list')->first();
$itemA = json_decode($itemList);
if (!$itemA) {
$itemB[] = $request->input('item_name').','.$request->input('item_price').','.$request->input('item_qty');
$activities->service_list = json_encode($itemB);
}else{
$itemB = $request->input('item_name').','.$request->input('item_price').','.$request->input('item_qty');
array_push($itemA,$itemB);
$activities->service_list = json_encode($itemA);
}
$activities->update();
如果我在编程中做错了什么或不应该做的事情,请提出建议。
我这样做是因为我的桌子看起来像这样
【问题讨论】:
-
你能控制这个 JSON 结构吗?
-
不要使用 JSON。创建一个包含
product, price, quantity(或任何这三个值)列的表,然后加入该列。将来你会感谢自己。 -
@lagbox 是的。我控制着那些。
-
@Nick 我更新了原帖并添加了表格结构
-
精确指定您的 MySQL 版本。 如何更新或删除它。 什么是标准?无论如何,您必须解析数组以分离元素,更新或删除元素(通过此操作的某些标准先前找到它),然后用新的元素状态(或没有它)重建数组。