【问题标题】:Passing data controller to view getting undefined variable, in Laravel 5.1在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量
【发布时间】:2016-10-09 23:33:42
【问题描述】:

我想将数据从控制器传递给视图

$participantView = view('section.participant', ['data' => $result['data']])->render();

$result['data'] 是数组数据(非空)

我在视图中做foreach,并得到:

未定义变量:数据

我也使用 compact 和 'with',但也会得到未定义的变量

我的代码有什么问题?

【问题讨论】:

  • 试试:return view('section.participant', ['data' => $result['data']]);
  • 你想对视图做什么?为什么渲染()?为什么不直接返回这样的视图:return view('section.participant')->with('data', $result['data']);
  • 是的,我想将数据传递给查看。然后我将返回 $data。也就是 $data=['data_array'=>['view'=>$participantView]];

标签: laravel undefined


【解决方案1】:

你必须返回视图,试试这个:

return view('section.participant', ['data' => $result['data']]);

【讨论】:

    【解决方案2】:

    尝试使用

     $data = $result['data'];
     return view('section.participant', compact('data'));
    

    它会起作用的。

    【讨论】:

    • 我将返回 $data, $data=['data_array' => ['view' => $participantView ]];那我会回到ajax。
    【解决方案3】:

    试试这个:

    $participantView = view('section.participant')->with([
        'data' => $result['data']
    ])->render();
    

    在视图中您将有可用的 $data 变量。

    【讨论】:

    • 还是一样,仍然得到未定义的变量数据。我不明白出了什么问题,因为在其他起作用的功能中
    • 还是一样。或者我的代码有错误的方法?我从视图加载js函数,js函数调用ajax到控制器,然后在控制器中将数据传递给视图。从控制器,这会将视图返回到 ajax。有错吗?
    • 看来你的问题就在那里。您正在返回视图内容、字符串,而不是视图对象。那样做是行不通的。
    • 但是,出于某种原因。在其他功能(使用相同的功能)中工作 XD。
    【解决方案4】:

    我想将数据传递给查看,然后我会返回$data。即:

    $data=['data_array' => ['view' => $participantView ]];
    

    在另一个函数中,传递的数据很好。

    【讨论】:

      猜你喜欢
      • 2017-03-03
      • 2018-08-23
      • 2015-12-27
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多