Как динамически обновлять поле Eloquent в Laravel с помощью переменной?

Чтобы динамически обновлять поле Eloquent в Laravel с использованием переменной имени поля, вы можете использовать различные методы. Вот несколько подходов с примерами кода:

  1. Использование метода update():

    $field = 'name';
    $value = 'John Doe';
    Model::where('id', $id)->update([$field => $value]);
  2. Использование метода setAttribute():

    $field = 'name';
    $value = 'John Doe';
    $model = Model::find($id);
    $model->setAttribute($field, $value);
    $model->save();
  3. Использование методов fill()и save():

    $field = 'name';
    $value = 'John Doe';
    $model = Model::find($id);
    $model->fill([$field => $value]);
    $model->save();
  4. Использование методов setAttribute()и save():

    $field = 'name';
    $value = 'John Doe';
    $model = Model::find($id);
    $model->setAttribute($field, $value);
    $model->save();
  5. Использование метода updateAttribute()(доступно в Laravel 8.x):

    $field = 'name';
    $value = 'John Doe';
    Model::where('id', $id)->updateAttribute($field, $value);

Эти методы позволяют динамически обновлять поле Eloquent на основе переменной, содержащей имя поля. Не забудьте заменить Modelфактическим именем вашей модели Eloquent, $idидентификатором записи, которую вы хотите обновить, и $fieldи $valueс нужным вам полем и значением.