【问题标题】:Pass Array to Laravel view将数组传递给 Laravel 视图
【发布时间】:2021-11-20 13:45:07
【问题描述】:
return view('price')->with('day',$day)->with('values',$values);

我试图传递 $day, $values 数组来查看。

dd($day); 

给予

array:3 [▼
  0 => "2021-09-06 18:48:34"
  1 => "2021-09-10 09:59:22"
  2 => "2021-09-28 09:58:02"
]

dd($values)

格式类似。 但是当我通过查看(price.blade.php)它说未定义的偏移量[1]

【问题讨论】:

  • 从您的视图 (price.blade.php) 文件中显示代码,您正在使用传递给它的 $values?
  • 我没有在视图文件中添加变量,什么都没有。只是php页面。但是调用 return 时会出现错误
  • 可以把price.blade.php的内容加进去吗?此代码中没有任何内容会导致未定义的偏移量 1

标签: php arrays laravel-8


【解决方案1】:

我不确定您是否可以在视图上链接“with” - 我认为代码中的第二个“with”会覆盖第一个“with”,因此当您在视图中使用 $day 时,它没有定义。

您希望将多个变量传递给视图,而不是:

return view('price')->with('day',$day)->with('values',$values);

你应该使用一个“with”,将变量作为数组传递:

return view('price')->with(['day' => $day, 'values' => $values]);

如果您在视图中为变量赋予与控制器中相同的名称,那么您可以使用“紧凑”功能为自己节省更多时间:

return view('price')->with(compact('day', 'values');

它会自动将 $day 作为 'day' 传递,将 $values 作为 'values' 传递。

【讨论】:

  • 还是不行。
  • 您实际上可以链接->with(...)->with(...),第二个不会覆盖第一个,但->with([...])compact(...) 绝对更干净。
  • @TimLewis 很高兴知道,谢谢。
【解决方案2】:

试试这个:

return view('price', compact('day', 'values'));

省略->with 并确保您已声明$dayvalues

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 2011-04-27
    相关资源
    最近更新 更多