【问题标题】:how to store array values on database in laravel如何在laravel中将数组值存储在数据库中
【发布时间】:2022-01-10 13:53:12
【问题描述】:
<label class=" ORGAD1-labeltext2">Color</label>
<select class="select-color-multiple  col-sm-12 ORGAD16-color"  multiple="multiple" name="color[]" id="color">
    <option value="">choose color</option>
    <option value="1" >Black</option>
    <option value="2">White</option>
    <option value="3">Green</option>
    <option value="4">Red</option>
    <option value="5">Blue</option>
</select>

在下拉列表中我选择多个值,例如:2(白色)4(红色)5(蓝色) 传递给控制器​​

$rules['color' => 'required']
$colors = $Request->color;
$choosecolors = implode(',', $colors);

[ dd(colors) if made dd means its shows "1,2,3"]

$store = modelcolor::insertcolors($choose)

在我的模型模型颜色

public static function  insertcolors($choose)
{
    $createColor = new Colorstable;
    $createColor->colorslist = $choose;
}

如果存储此值意味着它显示以下错误:

SQLSTATE[01000]:警告:1265 第 1 行的列“colorslist”的数据被截断

这里的颜色列表列在int(11)

【问题讨论】:

  • 当您创建一串值时,列的类型应该是varchar 而不是int。 Int 不能存储逗号或空格,因此该示例很可能只保存 1,因为数据在第一个逗号处被截断,因为不是数字。

标签: mysql laravel


【解决方案1】:

您使用 implode 进行字符串处理,因此您必须将列 int 更改为 varchar

【讨论】:

    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 2021-03-12
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    相关资源
    最近更新 更多