laravel - 如何在 laravel 中仅订购一次选中复选框产品?
问题描述
用户不能多次对订单出价。如果用户再次点击订单,他应该会被提示一个响应页面,指出用户之前对订单出价。
我的数据保存如下:
我创建了多个复选框并存储了implode
计算机
order.blade.php
<form action="{{ route('store') }}" method="post">
<input type="checkbox" name="computer[]" value="1" id="hp">
<label for="hp">HP</label>
<input type="checkbox" name="computer[]" value="2" id="dell">
<label for="dell">DELL</label>
<input type="checkbox" name="computer[]" value="3" id="asus">
<label for="asus">ASUS</label>
<input type="checkbox" name="computer[]" value="4" id="acer">
<label for="acer">ACER</label>
<input type="checkbox" name="computer[]" value="5" id="sony">
<label for="sony">Sony</label>
<input type="checkbox" name="computer[]" value="6" id="fujitsu">
<label for="fujitsu">Fujitsu</label>
<input type="checkbox" name="computer[]" value="other_barnds" id="other_barnds">
<label for="other_barnds">Other</label>
</form>
订单控制器.php
public function store(Request $request)
{
$this->validate(request(), [
'computer' => 'required'
]);
$order = Order::where('user_id',auth()->id())
->where('computer', request('computer'))
->exists();
$order = new Order($request->all());
$order->user_id = auth()->user()->id;
$order->description = $request->description;
$computer = implode(",", $request->computer);
$order->computer = $computer;
$order->save();
if ($order) {
alert()->error('Warning', 'You ordered already');
return redirect()->back();
}
}
解决方案
推荐阅读
- automation - 启动 appium 检查器,当 appium 服务器以编程方式启动时
- php - 在 laravel 中附加 JSON 数组的 url
- apache-kafka - 如何修改 Kafka 测试容器映像的配置?
- rcpp - Rcpp:如果我向/从 SEXP 投射,对象是否受到安全保护?
- javascript - 数组算法:如何使用 javascript 改造这个嵌套数组?
- python - 使用 groupby 从 pandarallel 中获取错误,同时尝试将先知并行化到面板时间序列
- typescript - 在 Typescript 中从自身声明和引用一个对象,这可能吗?
- java - 如何使用 spotbugs 创建自定义任务以在 gradle 中运行静态代码分析?
- ios - Android的WebChromeClient.FileChooserParams的iOS等效解决方案
- c++ - Eclipse“Makefile Project with Existing Code”无法查看也无法打开源文件