Я пытаюсь обновить все строки в одной из моих таблиц базы данных, но получаю следующую ошибку:
Non-stati c метод Illuminate \ Database \ Eloquent \ Model :: update () не должен вызываться статически
Я делаю это в процессе миграции:
public function up()
{
Schema::table('rooms', function (Blueprint $table) {
$table->json('beds')->nullable();
});
Room::update([
'beds' => ['One King', 'Two Doubles']
]);
Schema::table('rooms', function (Blueprint $table) {
$table->json('beds')->nullable(false)->change();
});
}
Я добавляю столбец json 'beds' к моим существующим таблицам 'rooms 'и хочу установить значение по умолчанию ['One King', 'Two Doubles']
, мне интересно, могу ли я сделать это непосредственно в запросе без загрузки моделей.
Я придумал следующее решение, но оно выглядит "хакерским" :
// All id's are bigger than 0
Room::where('id', '>', 0)->update([
'beds' => ['One King', 'Two Doubles']
]);
Кто-нибудь знает другой способ обновить все строки без оператора where?