Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在foreach in Laravel存储方法中保存请求变量_Php_Laravel_Foreach - Fatal编程技术网

Php 在foreach in Laravel存储方法中保存请求变量

Php 在foreach in Laravel存储方法中保存请求变量,php,laravel,foreach,Php,Laravel,Foreach,2个值作为变量从表单中收集,其余值作为数组收集。然后将值保存在foreach循环的store方法中 数组值没有问题,但是对于单个变量,按照我的尝试,这些值显示为null 我试图在foreach循环中保存$start和$end值。代码如下: $start = $request->start; $end = $request->end; foreach ($request->user_id as $key => $val) { $bill = new UserBill;

2个值作为变量从表单中收集,其余值作为数组收集。然后将值保存在foreach循环的store方法中

数组值没有问题,但是对于单个变量,按照我的尝试,这些值显示为null

我试图在foreach循环中保存$start和$end值。代码如下:

$start = $request->start;
$end = $request->end;

foreach ($request->user_id as $key => $val) {
  $bill = new UserBill;
    if (is_array($request->checked) && in_array($val, $request->checked)) {
       $bill->start = $start;
       $bill->end = $end;
       $bill->amount = $request->amount[$key];
       $bill->package = $request->package[$key];
       $bill->package_type = $request->package_type[$key];
       $bill->user_id = $val;
       $bill->save();
    }
}

请提供帮助。

您可以尝试直接将信息发送到save方法,而不是填充对象

foreach ($request->user_id as $key => $val) {
  $bill = new UserBill;
    if (is_array($request->checked) && in_array($val, $request->checked)) {
       $bill->save([
            "start" => $request->start,
            "end" => $request->end,
            "amount" => $request->amount[$key],
            "package" => $request->package[$key],
            "package_type" => $request->package_type[$key],
            "user_id" => $val
       ]);
    }
}
确保所有变量都有内容。您可以使用dd()助手进行检查


检查您的变量是否在可填充部分的模型中声明,并尝试放置日志以查看值​​您的变量包括:

Log::info($start)
Log::info($end)

试过了,没用。foreach循环中的值需要数组中的值。需要在数组中保存$start和$end值。您可以发布dd($request->toArray())的结果吗?
Log::info($start)
Log::info($end)