模型的 save () 和 update () 出现偶尔存不了值的情况?
环境:
centos 7
php 7.26
mysql 8.0.11
laravel 5.4
代码:
控制器方法:
public function orderUpload(Request $request){
if(!$request->session()->has('username'))
return redirect('timeOut')->with('error', '请先登录');
if($request->isMethod('post')){
// 验证是否已提交, 避免重复提交
$order_temp = new Order();
$temp = $order_temp->find($request->input('id'));
if($temp->order_status == 15 || $temp->order_status == 21 || $temp->order_status == 82)
return redirect('orderList')->with('error', '你的请求已提交, 请勿再此提交');
$arr = $request->input();
$order_obj = new Order();
$order = $order_obj->find($request->input('id'));
if($order->order_status == 14)
$res = $order_obj->saveStatus($request->input('id'),15);
elseif($order->order_status == 31)
$res = $order_obj->saveStatus($request->input('id'),32);
elseif($order->order_status == 34)
$res = $order_obj->saveStatus($request->input('id'),21);
elseif($order->order_status == 82)
$res = $order_obj->saveStatus($request->input('id'),71);
// save() 方法存在问题
// if($order->order_status == 14)
// $order->order_status = 15;
// elseif($order->order_status == 31)
// $order->order_status = 32;
// elseif($order->order_status == 34)
// $order->order_status = 21;
// elseif($order->order_status == 82)
// $order->order_status = 71;
$file = $request->file('image');
if($file->isValid()){
$ext = $file->getClientOriginalExtension();
$path = $request->file('image')->storeAs('', date('Y',time()).'/'.$request->session()->get('code').date('YmdH').mt_rand(10, 99).'.'.$ext);
$arr['name'] = $path;
$image_obj = new OrderImage();
$image_res = $image_obj->add($arr);
// $res = $order->save();
if($res)
return redirect('orderList')->with('success', '图片上传成功!');
}else
return redirect('orderList')->with('error', '执行失败!');
}
}
模型:
public function saveStatus($id, $value){
return DB::table('order_main')->where('or_id', $id)->update(['order_status' => $value]);
}
现象:
用save()方法的时候
win7电脑提交, 图片和状态值都能修改并保存,
但是xp系统提交, 图片能上传, 状态值没有改变, 再次上传时, 状态值才改变. 换了360, 谷歌, 搜狗浏览器都是一样. 于是帮这台电脑换了win10系统. 问题一样存在
之后换update()
用update方法, 之前xp换win10的电脑, 图片能上传, 状态值能改, 测试之后这电脑的问题解决了
可是呢, 问题出现在win7系统的问题上. 图片能上传, 状态值偶尔有修改不成功的情况, 问题移到了其他地方
查看日志文件, 也没有出现错误信息
这问题怎么破啊.......
有哪位大神指点一下
No Comments