PHP: Start the update with value 1 and not 0

1

I have a table where I drag and drop, drag a row and place it in another position.

The 'order' field starts with 1 and when I do a drag and drop they are updated from 0. I would like the update to be maintained from the order field with value 1 and not 0.

Previous image:

Image of the following:

The function that makes the update is this:

public function updateOrder(Request $request)
   {

       $queryParams = [];

       $ids = $request->ids;
       //el query será definido en su totalidad de forma manual
       $query = 'UPDATE projects SET 'order' = CASE id ';
       //agregamos cada parámetro de orden y de id al array para respetar las convenciones de PDO
       foreach ($ids as $order => $id) {
           $query .= 'WHEN ? THEN ? ';
           $queryParams[] = (int) $id;
           $queryParams[] = (int) $order;
       }

       //por último agregamos los ids implicados en el update
       $queryParams = array_merge($queryParams, $ids);

       //generamos los ? necesarios para el array de ids en el query PDO
       $whereInArray = array_fill(0, count($ids), '?');
       $whereInString = implode(", ", $whereInArray);

       //agregamos dicho string generado al query final
       $query .= "END WHERE id IN ($whereInString)";

       //realizamos el update
       DB::update($query, $queryParams);
   }

What should I change in the function update?

    
asked by Lluís Puig Ferrer 15.09.2017 в 09:47
source

1 answer

1

Fixed

$queryParams[] = (int) $order+1;

    
answered by 15.09.2017 / 10:18
source