【问题标题】:How to Insert multiple values on multiple column with laravel?如何使用 laravel 在多列上插入多个值?
【发布时间】:2019-09-09 18:31:42
【问题描述】:

我对 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   |
+----+---------+---------+--------+--------+

【问题讨论】:

    标签: php laravel laravel-5 multiple-select


    【解决方案1】:

    您将在您的控制器中收到一个数组language,以便您可以检查该语言是否存在,并将其添加到数据库中:

    $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]);
    

    【讨论】:

    • 感谢您的回答,我尝试了一下,这让我为所有这些都插入了空值。
    • 您必须调试您的代码并给我正确的具体问题。或者您可以与我们分享您的控制器的内容或相关的操作代码。
    【解决方案2】:

    首先,确保表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,
    ]);
    

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      • 2015-05-16
      • 2010-10-31
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多