Передача данных
Давайте теперь будем передавать какие-нибудь данные из контроллера в вид (представление). Для этого предназначен второй параметр функции view
. В этот параметр мы можем передать ассоциативный массив. В виде (представлении) все ключи этого массива станут переменными, а элементы - значениями этих переменных.
Давайте посмотрим на примере, передадим в вид (представление) какой-нибудь массив с данными:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return view('test', ['var1' => '1', 'var2' => '2']);
}
}
В результате в виде (представлении) будет доступна переменная $var1
со значением 1
и переменная $var2
со значением 2
. Чтобы вывести содержимое переменной в виде (представлении), нужно написать ее в двойных фигурных скобках:
resources/views/test.blade.php<!DOCTYPE html>
<html>
<head>
<title>my view</title>
</head>
<body>
variable one: {{ $var1 }}
variable two: {{ $var2 }}
</body>
</html>
Шаблонизатор Blade
вместо соответствующих команд подставит значения переменных и в браузер отправится следующий HTML код:
<!DOCTYPE html>
<html>
<head>
<title>my view</title>
</head>
<body>
variable one: 1
variable two: 2
</body>
</html>
Передача выборки из базы данных, происходит по знакомой схеме, через второй аргумент используя массив:
app/Http/Controllers/PostController.php<?php
use App\Models\Home;
class PostController extends Controller
{
public function show()
{
$home = Home::all();
return view('test', ['home' => $home]);
}
}