Как просмотреть данные, полученные в контроллере в представлении? - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь получить данные в моем контроллере, используя соединение с базой данных 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) - **

1 Ответ

0 голосов
/ 25 декабря 2018

Около 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 в blade-сервер..

Теперь для отображения переменной в balde вам не нужно явно использовать echo, например

echo {{$cout_achat}};

Вы можете отображать переменные, например

{{$cout_achat}}

Все остальное будетбудет обрабатываться автоматически с помощью блейд-компилятора.

Надеюсь, это поможет.

...