模型的 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系统的问题上. 图片能上传, 状态值偶尔有修改不成功的情况, 问题移到了其他地方
查看日志文件, 也没有出现错误信息
这问题怎么破啊.......
有哪位大神指点一下

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: Parse error: syntax error, unexpected '?' in D:\wamp\www\blog\vendor\laravel\fra mework\src\Illuminate\Foundation\helpers.php on line 234

>> 下一篇: redirect 重定向不能生效