首页 > 解决方案 > 数组无法传递给刀片。我应该怎么办?

问题描述

我想将一个数组传递给刀片模板。但不知何故,数组总是在刀片中变为空。我没有我应该修复的地方。

    public function stackover(Request $request)
    {
        $resultList = array();
        $dateListArray = $this->getChargeData($request->id);
        Log::debug($dateListArray);
        foreach($dateListArray as $datelist)
        {
            array_push($resultList,$datelist);
        }
        Log::debug("CHARGELIST");
        Log::debug($resultList);
        return view('stacker',compact($resultList));
    }

在刀片.php

  console.log({{$resultList ?? ''}});

数据变为空。

Log::debug("CHARGELIST");
Log::debug($chargeList);

结果在这里

 array (
  0 => 
  (object) array(
     'delivery_date' => '2021-08-03 00:00:00',
     'amount' => 10000,
     'cost' => 0,
  ),
  1 => 
  (object) array(
     'delivery_date' => '2021-08-06 00:00:00',
     'amount' => 400,
     'shipping_cost' => 1100,
  ),
  2 => 
  (object) array(
     'delivery_date' => '2021-08-13 00:00:00',
     'amount' => 1100,
     'cost' => 1100,
  ),
)  

标签: phplaravellaravel-blade

解决方案


问题是由于您将$resultList变量作为值传递给compact函数而不是将变量名称作为字符串传递

return view('stacker',compact($resultList));

您应该通过像这样更改上面的行来解决这个问题

return view('stacker',compact('resultList'));

推荐阅读