如何使用 laravel 在多列上插入多个值?
How to Insert multiple values on multiple column with laravel?
我对 Laravel 有点陌生,
我 运行 在向数据库中的多个列插入多个 select 时遇到了一些问题。
在我看来,我正在为多个 select
使用 select 选择器
<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>
语言 table:
+----+---------+---------+--------+--------+
| id | English | Italian | Arabic |Japanese|
+----+---------+---------+--------+--------+
| 1 | | | | |
| 2 | | | | |
| 3 | | | | |
+----+---------+---------+--------+--------+
如何向控制器中的每一列插入数据?
这就是我想要做的!
+----+---------+---------+--------+--------+
| id | English | Italian | Arabic |Japanese|
+----+---------+---------+--------+--------+
| 1 | En | | Ar | Jp |
| 2 | | It | | |
| 3 | En | | | Jp |
+----+---------+---------+--------+--------+
您将在控制器中收到一个数组 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]);
首先,确保表 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,
]);
我对 Laravel 有点陌生, 我 运行 在向数据库中的多个列插入多个 select 时遇到了一些问题。
在我看来,我正在为多个 select
使用 select 选择器 <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>
语言 table:
+----+---------+---------+--------+--------+
| id | English | Italian | Arabic |Japanese|
+----+---------+---------+--------+--------+
| 1 | | | | |
| 2 | | | | |
| 3 | | | | |
+----+---------+---------+--------+--------+
如何向控制器中的每一列插入数据?
这就是我想要做的!
+----+---------+---------+--------+--------+
| id | English | Italian | Arabic |Japanese|
+----+---------+---------+--------+--------+
| 1 | En | | Ar | Jp |
| 2 | | It | | |
| 3 | En | | | Jp |
+----+---------+---------+--------+--------+
您将在控制器中收到一个数组 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]);
首先,确保表 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,
]);