如何在视图中查看在控制器中检索到的数据?

How to view data retrieved in the controller in the view?

我正在尝试使用 sqlsrv 数据库连接在我的控制器中检索数据,我想在我的 test.blade.php

中查看结果
public function index()
{
    $cout_achat = DB::table('[DWH_SOVAC_PROD_KIT_LIFE_CYCLE]')
        ->select( DB::raw('SUM([MONTANT_LC]) as cout_achat'))
        ->get();
    return view('test', ['test' => $cout_achat]);
}

和视图中的代码

<html lang="{{ config('app.locale') }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" 
rel="stylesheet" type="text/css">
 </head>
<body>
echo {{$cout_achat}};
</body>
</html> 

但是当我尝试访问 myapp/test 时,我得到:** 使用未定义常量测试 - 假定 'test'(这将在 PHP 的未来版本中引发错误) (查看:C:\wamp64\www\projetSovac\resources\views\test.blade.php)-**

关于404你提供的路由是完全可以的,请问你是怎么调用这个路由的。 请仔细检查控制器名称中的任何拼写错误。

现在我想谈谈你的代码的一些改进

首先是当你return你的控制器中有这样的视图时

return view('test', ['test' => $cout_achat]);

$cout_achat 将在您的 blade 文件中以名称 $test 提供。所以你应该尝试使用相同的命名约定,如

return view('test', ['cout_achat' => $cout_achat]);

或者简单的你可以像这样使用 compact() laravels 辅助函数

return view('test', compact(cout_achat));

它会在blade中自动传递$cout_achat。

现在为了回显 balde 中的变量,您不需要像

那样显式地使用 echo
echo {{$cout_achat}};

你可以回显像

这样的变量
{{$cout_achat}}

blade 编译器会自动处理其他任何事情。

希望这会有所帮助。