如何从Laravel控制器的复选框输入中获取数组值?

时间:2019-06-11 07:40:42

标签: laravel laravel-5

我想通过复选框输入将“日期”数组从一个页面发送到另一个页面,以显示数据并从数据库中获取更多数据。

我尝试从输入中对数组进行dd()处理,这仍然很正常,但是当我使用“ foreach”循环时,数据仅显示1个值。我该怎么办?

<input name="isInvoices[]" type="checkbox" value="{{ $date }}">

   $invoices = $request->input('isInvoices');
   // dd($invoice); It's show array of date
   foreach($invoices as $invoice) {
      dd($invoice); //It's just only 1 value
   }

我希望输出显示数组中的所有值,但实际输出是显示1个值。

3 个答案:

答案 0 :(得分:1)

dd的意思是dumpdie。第一次迭代停止后,这就是为什么只看到一个项目的原因。试试这个:

foreach($invoices as $invoice) {
    dump($invoice);
}
die;

答案 1 :(得分:0)

在此功能起作用之前,您必须具有一系列复选框,例如:

this is display series of date values on checkbox. so when you select any dates and submit
foreach($datevalue as $date){
   <input name="isInvoices[]" type="checkbox" value="{{ $date }}">
}



//this gets the date value
 $invoices = $request->input('isInvoices');



//this will display all the selected checkboxes 
   foreach($invoices as $invoice) {
      dd($invoice); 
   }

答案 2 :(得分:0)

dd()–代表“ Dump and Die”,它表示一旦循环到达该命令,它将停止执行程序,在这种情况下是第一次插入。要在 foreach 循环中显示所有数据,请使用 echo print_r()

foreach($invoices as $invoice) {
    echo $invoice;
}

这意味着程序将为每次迭代打印$ invoice。然后,您可以像这样访问数据:

$invoice['value']

您可以阅读有关here不同类型回声的更多信息。