我有一個表格,在拖放時我要更新訂單值,但它可以工作,但是從值0開始更新,我想從1開始。 PHP:更新值從0開始,而不是1
後:
我的代碼看起來像在這裏:
拖放之前例
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);
}
¿什麼我需要在代碼中更新?
嘗試'$ queryParams [] =(INT)$命令+ 1;' – superdev
它的工作原理。發佈像一個答案:) –
真的很高興聽到 – superdev