当使用 Laravel 上传新项目时,在控制器中将订单号增加 1

我想在上传新项目时将订单号增加 1。我有一个上传多张图片的图片上传器,基本上我希望在上传新图片时增加订单,但保持现有图片订单号相同。我尝试使用该increment()方法,但当我尝试此方法时,它增加了我不想要的现有图像订单号,但随后新图像订单号产生了一个奇怪的数字,例如 25。我有点不确定为什么会这样,或者我是否遗漏了一些重要的东西,谢谢。


此代码在控制器的存储功能中设置。


if($request->hasfile('images'))

{

    foreach($request->file('images') as $image)

    {

        $filenameWithExt = $image->getClientOriginalName();


        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);


        $extension = $image->getClientOriginalExtension();


        $fileNameToStore = $filename.'_'.time().'.'.$extension;


        $path = $image->storeAs('public/image', $fileNameToStore);


        $image = new Images;

        $increment = Images::increment('order', 1);

        $image->order = $increment;

        $image->images = $fileNameToStore;

        $image->post_id = $post->id;

        $image->save();

    }

} else {

    $fileNameToStore = null;

}


临摹微笑
浏览 166回答 1
1回答

温温酱

我会做一个 max() 来获得最新的增量值:$max = Images::where('post_id', $post->id)->max('order'); $order = $max+1;
打开App,查看更多内容
随时随地看视频慕课网APP