如何在Laravel控制器中返回变量以正确查看?

时间:2018-02-06 03:03:03

标签: php laravel blade

我想在这里实现的是在laravel中将一个字符串返回到我的视图,但我得到的是这个错误

  

“未定义的变量:tod(查看:   C:\ XAMPP \ htdocs中\博客\资源\视图\ opj_view.blade.php)“

这是我的控制器看起来很喜欢:

public function index()
{
    $tod = 'test';

    $user = DB::select('select * from tbluser where ID like ?',['%USER%']);

    return view('opj_view',['user '=>$user ],['tod'=>$tod]);
}

这是我的观点:

   <body>
   <?php echo $tod; ?>
      <div>User</div>
      <table border = 1>
         <tr>
            <td>User ID</td>
            <td>Username</td>
         </tr>
         @foreach ($user as $users)
         <tr>
            <td>{{ $users->ID }}</td>
            <td>{{ $users->User_Name }}</td>
         </tr>
         @endforeach
      </table>

   </body>

如何正确打印$tod变量?因为当我删除我的['tod'=>$tod]它有效时,它只是字符串,但它说Undefined Variable,我是PHP的新手,是否有某种方式来声明变量?从我读到的可能的方式是真的..请需要帮助的人

4 个答案:

答案 0 :(得分:3)

更改

return view('opj_view',['user '=>$user ],['tod'=>$tod]);

return view('opj_view',['user' => $user, 'tod' => $tod]);

您可以阅读有关Passing Data To Views

的文档

答案 1 :(得分:2)

来自docs和实验

return view('opj_view',compact('tod,'user'));

或者

return view('opj_view',['user '=>$user,'tod'=>$tod ]));

或者

return view('opj_view')->with(['user '=>$user,'tod'=>$tod]);

答案 2 :(得分:1)

您将两个数组传递给视图,您只需要将tod作为同一数组中的索引:

public function index()
{
    $tod = 'test';

    $user = DB::select('select * from tbluser where ID like ?',['%USER%']);

    return view('opj_view',['user '=>$user, 'tod'=>$tod]);
}

答案 3 :(得分:0)

您可以简单地使用:

return view('opj_view')->with('user', 'tod');