Чтобы динамически обновлять поле Eloquent в Laravel с использованием переменной имени поля, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
-
Использование метода
update():$field = 'name'; $value = 'John Doe'; Model::where('id', $id)->update([$field => $value]); -
Использование метода
setAttribute():$field = 'name'; $value = 'John Doe'; $model = Model::find($id); $model->setAttribute($field, $value); $model->save(); -
Использование методов
fill()иsave():$field = 'name'; $value = 'John Doe'; $model = Model::find($id); $model->fill([$field => $value]); $model->save(); -
Использование методов
setAttribute()иsave():$field = 'name'; $value = 'John Doe'; $model = Model::find($id); $model->setAttribute($field, $value); $model->save(); -
Использование метода
updateAttribute()(доступно в Laravel 8.x):$field = 'name'; $value = 'John Doe'; Model::where('id', $id)->updateAttribute($field, $value);
Эти методы позволяют динамически обновлять поле Eloquent на основе переменной, содержащей имя поля. Не забудьте заменить Modelфактическим именем вашей модели Eloquent, $idидентификатором записи, которую вы хотите обновить, и $fieldи $valueс нужным вам полем и значением.