如何在 Laravel 控制器中 return 变量正确查看?

How to return variable in Laravel controller to view properly?

我想在这里实现的是 return 我在 laravel 中查看的字符串,但我得到的是这个错误

"Undefined variable: tod (View: C:\xampp\htdocs\blog\resources\views\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 的新手,有什么方法可以声明变量吗?从我读到的可能是真的..请需要帮助的人

改变

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

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

您可以阅读有关 Passing Data To Views

的文档

来自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]);

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

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

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

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

您可以简单地使用:

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