为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用laravel在多个列上插入多个值?

如何使用laravel在多个列上插入多个值?

PHP
茅侃侃 2021-05-01 09:08:04
我是Laravel的新手,在将多个选择插入数据库的多个列时遇到了一些问题。在这里,我将选择选择器用于多个选择  <select multiple="multiple"  name=language[] id="language[]" class="selectpicker"  data-selected-text-format="count">    <option name="En">English</option>    <option  name="It">Italian</option>    <option  name="Ar">Arabic</option>                                <option  name="Jp">Japanese</option>    </select>语言表:+----+---------+---------+--------+--------+| id | English | Italian | Arabic |Japanese|+----+---------+---------+--------+--------+|  1 |         |         |        |        ||  2 |         |         |        |        ||  3 |         |         |        |        |+----+---------+---------+--------+--------+如何将数据插入控制器中的每一列?这就是我想要做的!+----+---------+---------+--------+--------+| id | English | Italian | Arabic |Japanese|+----+---------+---------+--------+--------+|  1 |   En    |         |   Ar   |   Jp   ||  2 |         |    It   |        |        ||  3 |   En    |         |        |   Jp   |+----+---------+---------+--------+--------+
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

首先,请确保表格id列设置为auto increment。和其他列为nullable。


$languages = request('languages');


DB::table('table_name')->insert([

    'English' => in_array('En', $languages) ? 'En' : null,

    'Italian' => in_array('It', $languages) ? 'It' : null,

    'Arabic' => in_array('Ar', $languages) ? 'Ar' : null,

    'Japanese' => in_array('Jp', $languages) ? 'Jp' : null,

]);


查看完整回答
反对 回复 2021-05-07
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您将language在控制器中收到一个数组,因此您可以检查该语言是否存在,将其添加到DB中:


$en = $it = $ar = $jp = null;


if(in_array('En', $language))

    $en = 'En';

if(in_array('It', $language))

    $it = 'It';

if(in_array('Ar', $language))

    $ar = 'Ar';

if(in_array('Jp', $language))

    $jp = 'Jp';


ModelName::insert(['English' => $en, 'Italian' => $it, 'Arabic' => $ar, 'Japanes' => $jp]);



查看完整回答
反对 回复 2021-05-07
  • 2 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信