我正尝试删除此表中名为Offer的列中的用户ID。用户ID以字符串形式插入,如"1,2,3,4"。我有一个select multiple,其中包含表中该offer的批准用户列表。我在删除此列字段中的userId数组时遇到问题。我的函数代码如下:
Public function removeAccess(Offer $offer, Request $request)
{
$this->validate($request, [
'private_access' => 'required',
]);
$current_allowed = array($offer->private_allowed);
$remove_allowed = $request->private_access;
$allowed = array_diff_key($current_allowed, array_flip($remove_allowed));
$offer->private_access = $allowed;
$offer->save();
return redirect()->back()->with('status', 'Publisher(s) successfully removed from private access.');
}
我做错了什么?我以为我会对每个$request->private_access
做一个循环,然后检查它是否在数组中,如果是,就删除它。我在网上找到了另一个代码来做我如何显示它,但仍然遇到问题,即使我从〈select multiple〉输入中只选择了1,它也会删除所有的$request->private_access
。
问题解决了!经过更多的研究和另外24小时的断断续续的弄清楚这个问题,下面是现在工作的任务的函数。
对于任何遇到同样问题的人来说,重要的是,在select中,我必须在name后面添加[]-"name []"以将值放入一个数组〉我还必须将数据库中的数组转换为与多选附带的数组相似。
x一个一个一个一个x一个一个二个x
1条答案
按热度按时间0lvr5msh1#
我想你的代码应该是这样的