Изучаю laravel 6 и постоянно возникает проблема с blade template.
Не работают в темплейте:
@csrf, @error("name") $message @enderror, @method("patch"), хотя такие конструкции как
@foreach, @forelse и @if работают без проблем.
Вместо этого использую {{ csrf_field() }}, @foreach($errors->all() as error) {$error} @endforeach соответственно.
Если@error("name") $message @enderror выдаёт ошибку:
Undefined variable: message, то @csrf и @method("patch")
просто выводятся в html как обычный текст. Сейчас возникла проблема с @method("patch"). Работаю на windows 7, open server пишу всё по документации, но приходится искать другой способ написания кода. В чём может быть проблема?
Здесь ситуация с @error("name") {$message}. Вот контроллер.
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class ServiceController extends Controller
{
public function index(){
$var = 'create';
return view('services.index', ['data' => $var, ]);
}
public function store(Request $request){
$data = $this->validate($request, [
'name' => 'required'
]);
$var = request('name');
DB::table('services')->insert(['name' => $var]);
return redirect()->back();
}
}
Вот темплейт в services/index.blade.php. Все темплейты названы правильно.
@extends('html')
@section('title', 'create')
@section('content')
<h1>Create service</h1>
<form action='/service' method='post'>
<input type='text' name='name'>
{{ csrf_field() }}
<button>Add service</button>
</form>
@error('name') {{ $message }} @enderror
@endsection
Продвижение своими сайтами как стратегия роста и независимости