如何在laravel 5.5中进行多次插入? - php

我想在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以…