我有一个控制器检查用户输入的用户名是否正确,并且基于正确/不正确我将不同的变量发送到查看页面。
所以我在控制器中有这个
public function resSub() {
$user = User::where('username', Input::get('username'))->first();
if (!$user) {
// not relevant stuffs
$enc = 'enc';
return View::make('users.page2', ['enc'=> $enc]);
}
Session::put('user_id', $user['user_id']);
return Redirect::to('/users/page2?_token=' . csrf_token());
}
public function encMess()
{
$data = Session::all();
$enc1 = 'enc1';
return View::make('users.page2', ['enc1'=> $enc1]);
}
在视图中我有这个
@if(!$enc)
<pre>{{ $enc1 }}</pre>
@else
<pre>{{ $enc }}</pre>
@endif
当我运行该页面时,我未定义$enc
或$enc1
,因为它未发送到视图。
我该怎么做?
答案 0 :(得分:1)
public function resSub() {
$user = User::where('username', Input::get('username'))->first();
if (!$user) {
// not relevant stuffs
return View::make('users.page2', ['enc'=> $enc]);
}
Session::put('user_id', $user['user_id']);
return Redirect::to('/users/page2?_token=' . csrf_token()); }
public function encMess() {
$data = Session::all();
return View::make('users.page2', ['enc'=> $enc1]);
}
查看:
{{ $enc }}
您在视图中执行的操作相同,因此您无需传递两个不同的变量名称。
如果你真的需要两个单独的变量,可以使用一个空值。