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

时间:2018-12-25 14:16:48

标签: laravel sqlsrv

我正在尝试使用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时,我得到:**使用未定义的常数测试-假定为“测试”(这将在以后的PHP版本中引发错误)(查看:C:\ wamp64 \ www \ projetSovac \ resources \ views \ test.blade.php)– **

1 个答案:

答案 0 :(得分:0)

大约404,您提供的路线完全可以,请您告诉我们您如何称呼这条路线。 并且请仔细检查控制器名称中的任何错字。

现在,我想谈谈您的代码方面的一些改进

首先是当您在控制器中返回这样的视图

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

$ cout_achat将在刀片文件中以名称$ test出现。因此,您应该尝试使用相同的命名约定,例如

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

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

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

它将自动在刀片服务器中传递$ cout_achat。

现在在balde中回显变量,您无需像显式使用echo一样

echo {{$cout_achat}};

您可以回显类似的变量

{{$cout_achat}}

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

希望这会有所帮助。