我需要将多个复选框保存到数据库中的单个字段。
<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'
答案 0 :(得分:0)
你无法添加,因为 您可以尝试以数组格式循环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();
}
我希望你能找到另一种相同的方式......