在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量
Posted
技术标签:
【中文标题】在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量【英文标题】:Passing data controller to view getting undefined variable, in 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]];
【参考方案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。有错吗? 看来你的问题就在那里。您正在返回视图内容、字符串,而不是视图对象。那样做是行不通的。 也许这会有所帮助***.com/questions/28634712/… 但是,出于某种原因。在其他功能(使用相同的功能)中工作 XD。【参考方案4】:我想将数据传递给查看,然后我会返回$data
。即:
$data=['data_array' => ['view' => $participantView ]];
在另一个函数中,传递的数据很好。
【讨论】:
以上是关于在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量的主要内容,如果未能解决你的问题,请参考以下文章