【问题标题】:php laravel 6 blade templatephp laravel 6刀片模板
【发布时间】:2020-05-23 19:23:27
【问题描述】:

我正在研究Laravel 6,刀片模板总是有问题。

这些模板不起作用:@csrf@error ("name")$message@enderror@method ("patch"),尽管像​​ @foreach@forelse@if 这样的结构可以正常工作。

相反,我分别使用{{csrf_field ()}}@foreach ($ errors-> all () as error) {$ error} @endforeach

如果@error("name") $message @enderror 抛出错误:未定义变量:消息,则@csrf@method ("patch") 仅以纯文本形式输出为HTML。现在@method(“补丁”)有问题。我在 Windows 7 上工作,打开服务器我根据文档编写所有内容,但我必须寻找另一种编写代码的方法。可能是什么问题?

这是@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

【问题讨论】:

  • 首先检查版本常量vendor/laravel/framework/src/Illuminate/Foundation/Application.php。如果那个是正确的,那么检查vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php 以使用它包括use Concerns/CompilesErrors(或类似的)。如果所有这些似乎都如您所料,请尝试删除 vendor 并再次运行 composer install

标签: php laravel laravel-blade laravel-6


【解决方案1】:
命名空间 App\Http\Controllers; 使用 App\Http\Controllers\Controller; 使用 Illuminate\Http\Request; 使用 Illuminate\Support\Facades\DB; 类 ServiceController 扩展控制器 { 公共函数索引(){ $var = '创建'; 返回视图 ('services.index', ['data' => $var]); } 公共功能存储(请求 $request){ $datavalidation = $request->validate([ '名称' => '必需' ]); $var =$request->name; DB::table('services')->insert(['name' => $var]); 返回重定向()->返回(); } } 查看刀片页面 @extends ('html') @section('标题','创建') @section ('内容')

创建服务

@csrf {{ $errors->first('name') }} 添加服务 /*@error ('name') {{$ message}} @enderror*/ @endsection

【讨论】:

  • 您好,欢迎来到堆栈溢出。仅代码的答案通常没有帮助。尝试解释 OP 做错了什么以及您的解决方案如何解决他们的问题。
猜你喜欢
  • 2017-04-03
  • 2018-05-31
  • 2013-04-29
  • 2013-09-27
  • 1970-01-01
  • 2014-02-05
  • 2014-12-08
  • 2017-08-07
相关资源
最近更新 更多