php - Laravel Increment / Decrement to update display order field - Stack Overflow

PHOTO EMBED

Fri Dec 16 2022 14:23:34 GMT+0000 (Coordinated Universal Time)

Saved by @WMOH #php

public function ImageOrderUpdate (Request $request, $prop, $photo) {

//The photo to edit 
$Photos_Edit = Images::where('property_id', $prop->id)->where('id', $photo)->firstorfail();

$OldPosition = $Photos_Edit->order;     // Old position
$NewPosition = $request->photoorder;    // New position

// Moving down where the fall between positions
if($NewPosition > $OldPosition) {
    Images::where('order','<', $NewPosition)->where('order','>', $OldPosition)->decrement('order');
} 
else {
    Images::where('order','>', $NewPosition)->where('order','<', $OldPosition)->increment('order');
}

// Update the image sort position
$Photos_Edit->order = $NewPosition;

return back();
content_copyCOPY

https://stackoverflow.com/questions/66385685/laravel-increment-decrement-to-update-display-order-field