我想在Laravel项目中进行多次插入,但是我不知道该怎么做。我需要循环执行还是有其他方法可以执行?我有点困惑。我正在使用querybuilder。
控制器代码。
if($request->smsn == 'on'){
$events->smsnotify = 1;
$numbers = \DB::table('users')
->where('school_id', '=', $sid->school_id)
->where('role', '=', $request->group_id)
->select('phone','name')
->get();
dd($numbers);
$sms = DB::table('sms')->insert([
'user_id' => $sid->id,
'school_id' => $sid->school_id,
'msg' => 'New Event '. $request->name,
'mobile_number' => $numbers,
'name' => 'Sample',
'isSend' => 1
]);
}
转储结果
Collection {#552 ▼
#items: array:5 [▼
0 => {#550 ▼
+"phone": "+63 (928) 206-5706"
+"name": "Ayden Kutch"
}
1 => {#568 ▼
+"phone": "(0817) 447-1492"
+"name": "Ruthie Quigley"
}
2 => {#567 ▼
+"phone": "+63 (920) 203-3874"
+"name": "Alaina O'Kon"
}
3 => {#569 ▶}
4 => {#570 ▶}
]
}
我想以这种格式将其插入到sms
表中
+----+---------+---------------+---------------+--------+------------+------------+-----------+-------------+
| id | user_id | msg | mobile_number | isSend | created_at | updated_at | school_id | name |
+----+---------+---------------+---------------+--------+------------+------------+-----------+-------------+
| 8 | 13 | New Event | 123456 | 1 | NULL | NULL | 2 | Ayden Kutch |
+----+---------+---------------+---------------+--------+------------+------------+-----------+-------------+
在每个名字和号码。它生成另一行。
参考方案
您可以在循环中执行多个插入查询,也可以对一个或多个数组执行单个插入查询,但是您需要首先构建该数组。
$data = [];
foreach ($numbers as $number) {
$data[] = [
'user_id' => $sid->id,
'school_id' => $sid->school_id,
'msg' => 'New Event',
'mobile_number' => $number->phone,
'name' => $number->name,
'isSend' => 1
];
}
DB::table('sms')->insert($data);
这将构建要插入在一起的多个记录的数组。
“通过传递数组数组,甚至可以通过一次调用insert
将多个记录插入表中。每个数组代表要插入表中的一行”
Laravel 5.5 Docs - Query Builder - Inserts
验证IBAN PHP - php在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…
如何在Laravel 4.2中删除或取消设置cookie - php我在这里浏览了文档cookie laravel 4.2但是我无法检查如何在laravel 4.2中删除或取消设置cookie?即使在laravel 4.0中也有Cookie::forget('cookieKey');方法。 参考方案 您仍然需要像这样发送带有响应的cookie$cookie = Cookie::forget('…
如何在Laravel 5中使用AJAX发送数据? - php我想在页面中发送ajax请求,但我不知道如何。这是我的代码:<script type="text/javascript"> $(document).ready(function(){ $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': {!! json_encode(csrf_…
如何从php中获取datatables jQuery插件的json数据 - php我是PHP的新手,正在尝试使用Datatables jQuery插件。我知道我必须从.php文件中获取数据,然后在数据表中使用它,但是我似乎无法通过ajax将其传递给数据表。我设法从数据库中获取数据,并对其进行json编码,但是后来我不知道如何在我的index.php文件中调用它,并在其中显示它。我究竟做错了什么?这是我的代码:HTML(已编辑): <…
如何在Laravel 5中验证当前密码,新密码和新密码的确认? - php我已经在UserController@getProfilePassword和UserController@postProfilePassword中创建了密码路由,视图和方法目前,如果我填写new_password字段,它会被散列并正确提交到数据库,那么我可以使用新密码登录。但是我需要能够验证new_password和new_password_confirm以…