AFAIK, а не с Laravel свободно. Существует два разных запроса с разными значениями обновления. Однако вы можете использовать его в функции многократного использования.
public function updateNewValue($id, $value, $newValue)
{
return DB::table('table')
->where('id', $id)
->where('value', $value)
->update(['new_value' => $newValue]);
}
Или, вы можете объединить их в один с переключателем заявления в зависимости от new_value
:
$query = DB::table('table')->where('id', $id);
switch($newValue)
{
case 1:
return $query->where('value', $a)->update(['new_value' => $newValue]);
case 2:
return $query->where('value', $b)->update(['new_value' => $newValue]);
}
Спасибо за ответ @tanaydin. Я так думаю, но я хочу знать, что это возможно или нет. – exexe
Вы можете это сделать, конечно, используя 'WHEN .. THEN', вы можете динамически строить этот запрос, если существует переменное число этих значений. @JosephSilber дал вам ответ ниже. –