Нелегальный тип офсета laravel 5.7 - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу обновить 4 поля с одним и тем же значением, поэтому я сделал это:

UpdateModel::where('model_id', $id)->update([['is_1_ans', 'is_2_ans', 'is_3_ans', 'is_4_ans'] => 1]);

, но я получаю эту ошибку,

Недопустимый тип смещения

Я знаю, что я делаю неправильно, но я хочу знать, как обновить несколько полей с одним и тем же значением, если это необходимо?

1 Ответ

0 голосов
/ 22 февраля 2019

Я не думаю, что это из коробки, но вы можете сделать это, чтобы заполнить значения для ключей:

// The keys you want to update
$keys = ['is_1_ans', 'is_2_ans', 'is_3_ans', 'is_4_ans'];

// We use array_fill_keys to fill "1" to all the keys above
$updates = array_fill_keys($keys, 1);

// This will result in
// $updates = ['is_1_ans' => 1, 'is_2_ans' => 1, 'is_3_ans' => 1, 'is_4_ans' => 1];

// Then you do your usual updates ;)
UpdateModel::where('model_id', $id)->update($updates);

См. Документацию array_fill_keys .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...