Мне нужно сохранить несколько флажков в одном поле в базе данных.
<div class="checkbox">
<label>
<input type="checkbox" name="expresion_vegetal_id[]" value="1">Raíz
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="expresion_vegetal_id[]" value="3">tronco
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="expresion_vegetal_id[]" value="4">corteza
</label>
</div>
контроллер:
$ficha_tecnica = new Ficha_Tecnica();
$options = $request->get('expresion_vegetal_id');
$ficha_tecnica->expresion_vegetal_id = $options;
$ficha_tecnica->save();
это пытается сохранить, значения в [«»], мне нужно только сохранить цифры
insert into `fichas_tecnicas` (`expresion_vegetal_id`) values (["1","3","4"])
Когда я пытаюсь сохранить, показать следующее сообщение
1366 Incorrect integer value: '["1","4"]' for column 'expresion_vegetal_id'
Вы не можете добавить это, потому что
Вы можете попытаться зациклить expresion_vegetal_id еще в формате массива.
Я вижу в вашем вопросе, вам нужно добавить это в формате строки.
Вы должны сначала зациклить этот массив и сохранить один за другим, или вы можете использовать созданный
Я даю вам образец, используя петлю.
Ваш код будет выглядеть так
$ficha_tecnica = new Ficha_Tecnica();
foreach ($$request->expresion_vegetal_id as $expresion_vegetal_id) {
$ficha_tecnica->fresh();
$ficha_tecnica->expresion_vegetal_id = $expresion_vegetal_id;
$ficha_tecnica->save();
}
Я надеюсь, что вы можете найти другой путь ….
Других решений пока нет …