You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Blade视图异常显示问题排查求助

Laravel Blade视图异常显示问题排查求助

各位大佬,求助!我遇到一个特别诡异的Laravel视图问题:我只修改了edit.blade.php文件,完全没碰create.blade.php,但现在创建折扣的页面显示异常了。更离谱的是,我把项目回滚到GitHub上之前完全正常的版本,这个问题还是存在,实在摸不着头绪,有没有大佬能帮忙看看哪里出问题了🥲

下面是相关的代码文件,麻烦各位帮忙排查:


1. Create视图代码 (create.blade.php)

@extends('templates.crud',["current" => "controle"])

@section('body')

<div class="content-wrapper">

<!-- Content Header (Page header) -->

<section class="content-header">

<div class="container-fluid">

<div class="row mb-2">

<div class="col-sm-6">

<h5>Descontos</h5>

</div>

<div class="col-sm-6">

<ol class="breadcrumb float-sm-right">

<li class="breadcrumb-item"><a href="/">Home</a></li>

<li class="breadcrumb-item">Perfil</a></li>

<li class="breadcrumb-item active">Descontos</li>

</ol>

</div>

</div>

</div><!-- /.container-fluid -->

</section>

<section class="content">

<div class="container-fluid">

@if($errors->any())

<div class="alert alert-danger">

@foreach($errors->all() as $error)

<li>{{ $error }}</li>

@endforeach

</div>

@endif

<div class="row">

<div class="col-md-12">

<div class="card">

<div class="card-body">

<form id="formulario" action="{{ route('descontos/store') }}"

class="form-horizontal" method="POST">

@csrf

<input type="hidden" class="form-control" name="login" id="login" value="{{Auth::user()->login}}">

<input type="hidden" id="contratos_id" name="contratos_id" value="{{ $contrato }}">

<input type="hidden" id="clientes_id" name="clientes_id" value="{{ $cliente->id }}">

<input type="hidden" id="matricula" name="matricula" value="{{ $matricula }}">

<div class="form-row" style="padding-top: 10px">

<div class="form-group col-md-4">

<label for="contribuicoes_tipos_id" style="font-weight: bold">Tipo</label>

<select class="chosen-select form-control {{ $errors->has('contribuicoes_tipos_id') ? 'is-invalid' : '' }}"

id="contribuicoes_tipos_id" name="contribuicoes_tipos_id">

<option value="Selecione...">Selecione...</option>

@if(!isset($tipoSelecionado))

@foreach($contribuicoesTipo as $list)

<option value="{{ $list->id }}"

{{ $list->id == old('contribuicoes_tipos_id') ? 'selected' : ''}}

>{{ $list->descricao }}</option>

@endforeach

@else

@foreach($contribuicoesTipo as $list)

<option value="{{ $list->id }}"

{{ $list->id == $tipoSelecionado ? 'selected' : ''}}

>{{ $list->descricao }}</option>

@endforeach

@endif

</select>

@if($errors->has('contribuicoes_tipos_id'))

<div class=" {{$errors->has('contribuicoes_tipos_id') ? 'invalid-feedback' : ''}}">

{{$errors->first('contribuicoes_tipos_id')}}

</div>

@endif

</div>

<div class="form-group col-md-4" id="motivos">

<label for="motivos_id" style="font-weight: bold">Motivo</label>

<select class="form-control {{ $errors->has('motivo_id') ? 'is-invalid' : '' }}" id="motivo_id" name="motivo_id">

<option value="Selecione...">Selecione...</option>

</select>

</div>

</div>

<div class="form-row">

<div class="form-group col-md-4">

<label for="diretores_id" style="font-weight: bold">Diretor</label>

<select class="chosen-select form-control {{ $errors->has('diretores_id') ? 'is-invalid' : '' }}"

id="diretores_id" name="diretores_id">

<option value="Selecione...">Selecione...</option>

@if(!isset($diretorSelecionado))

@foreach($diretores as $list)

<option value="{{ $list->id }}" {{ $list->id == old('diretores_id') ? 'selected' : ''}}>{{ $list->nome }}</option>

@endforeach

@else

@foreach($diretores as $list)

<option value="{{ $list->id }}" {{ $list->id == $diretorSelecionado ? 'selected' : ''}}>{{ $list->nome }}</option>

@endforeach

@endif

</select>

@if($errors->has('diretores_id'))

<div class=" {{$errors->has('diretores_id') ? 'invalid-feedback' : ''}}">

{{$errors->first('diretores_id')}}

</div>

@endif

</div>

<div class="form-group col-md-2">

<label>Início</label>

<input type="date" class="form-control {{ $errors->has('inicio') ? 'is-invalid' : '' }}" name="inicio" id="inicio" value="{{ old('inicio') }}">

@if($errors->first('inicio'))

<div class=" {{ $errors->has('inicio') ? 'invalid-feedback' : ''}}">

{{ $errors->first('inicio')}}

</div>

@endif

</div>

<div class="form-group col-md-2">

<label>Fim</label>

<input type="date" class="form-control {{ $errors->has('fim') ? 'is-invalid' : '' }}" name="fim" id="fim" value="{{ old('fim') }}">

@if($errors->first('fim'))

<div class=" {{ $errors->has('fim') ? 'invalid-feedback' : ''}}">

{{ $errors->first('fim')}}

</div>

@endif

</div>

</div>

<div class="form-row">

<div class="form-group col-md-2">

<label for="valor" style="font-weight: bold">Valor</label>

<input type="text" class="form-control money {{ $errors->has('valor') ? 'is-invalid' : '' }}" name="valor" id="valor"

value="{{ old('valor') }}">

@if($errors->has('valor'))

<div class=" {{$errors->has('valor') ? 'invalid-feedback' : ''}}">

{{$errors->first('valor')}}

</div>

@endif

</div>

<div class="form-group col-md-10">

<label>Observação</label>

<input type="text" class="form-control {{ $errors->has('observacao') ? 'is-invalid' : '' }}" name="observacao" id="observacao" value="{{ old('observacao') }}">

@if($errors->first('observacao'))

<div class=" {{ $errors->has('observacao') ? 'invalid-feedback' : ''}}">

{{ $errors->first('observacao')}}

</div>

@endif

</div>

</div>

<div class="form-row mt-3">

<button type="submit" class="btn btn-primary" id="salvar" style="font-size: 12px; font-weight: bold">Salvar</button>

<button type="reset" class="btn btn-outline-danger ml-2" style="font-size: 12px; font-weight: bold"

onclick="window.location.href='/perfil/descontos/{{ encrypt($clienteId) }}/{{encrypt($matricula)}}'">Cancelar</button>

</div>

</form>

</div>

</div>

</div>

</div>

@endsection('body')

@section('scripts')

<script type="text/javascript">

$(document).ready(function() {

$("#motivos").hide();

$("#contribuicoes_tipos_id").on("change", function(){

$("#motivo_id option").remove();

if($("#contribuicoes_tipos_id").val() == 63) { //Taxa administrativa

$("#motivo_id").append($('<option>', { value: 1, text: 'Promoção'}));

$("#motivo_id").append($('<option>', { value: 2, text: 'Carência'}));

$("#motivo_id").append($('<option>', { value: 3, text: 'Gerência'}));

$("#motivo_id").append($('<option>', { value: 4, text: 'Maior Idade'}));

$("#motivo_id").append($('<option>', { value: 5, text: 'Óbito'}));

$("#motivo_id").append($('<option>', { value: 9, text: 'Migração - Categoria'}));

$("#motivos").show('slow');

$("#motivo_id").focus();

} else if($("#contribuicoes_tipos_id").val() == 73) { //Débitos anteriores

$("#motivo_id").append($('<option>', { value: 8, text: 'Desligado até 2 anos'}));

$("#motivo_id").append($('<option>', { value: 7, text: 'Desligado de 2 a 4 anos'}));

$("#motivo_id").append($('<option>', { value: 6, text: 'Desligado a mais de 5 anos'}));

$("#motivo_id").append($('<option>', { value: 3, text: 'Gerência'}));

$("#motivos").show('slow');

$("#motivo_id").focus();

} else {

$("#motivos").hide('slow');

}

})

});

</script>

@endsection('scripts')

2. 相关路由配置

Route::prefix('descontos')->group(function (){
    Route::get('/index/{clienteId}', 'DescontosController@index')->middleware('can:Controle')->name('descontos/index');
    Route::get('/create/{clienteId}', 'DescontosController@create')->middleware('can:Controle')->name('descontos/create');
    Route::post('/store', 'DescontosController@store')->middleware('can:Controle')->name('descontos/store');
    Route::get('/edit/{descontoId}', 'DescontosController@edit')->middleware('can:Controle')->name('descontos/edit');
    Route::get('/delete/{descontoId}', 'DescontosController@destroy')->middleware('can:Controle')->name('descontos/delete');
    Route::get('/clear/{descontoId}', 'DescontosController@clear')->middleware('can:Controle')->name('descontos/clear');
    Route::post('/update', 'DescontosController@update')->middleware('can:Controle')->name('descontos/update');
    Route::get('/calcular-percentual', 'DescontosController@calcularPercentual')->middleware('can:Controle')->name('descontos/calcular-percentual');
});

3. Store控制器方法

public function store(Request $request)
{
    if (Gate::denies('Controle'))
        return redirect('/app');

    DB::beginTransaction(); //Start transaction!
    try {
        $request->validate([
            'diretores_id' => 'required|not_in:' . "Selecione...",
            'clientes_id' => 'required',
            'contribuicoes_tipos_id' => 'required|not_in:' . "Selecione...",
            'valor' => [
                new ValorDesconto(),
                'required'],
            'inicio' => 'required',
            'fim' => 'required',
            'observacao' => 'max:180'
        ]);

        $clientesId = $request->input('clientes_id');
        $tipo = $request->input('contribuicoes_tipos_id');
        $contratoId = $request->input('contratos_id');
        $valor =  (double)str_replace(',', '.', $request->valor);

        $desconto = new Descontos();
        $desconto->diretores_id = $request->input('diretores_id');
        $desconto->contratos_id = $contratoId;
        $desconto->clientes_id = $clientesId;
        $desconto->contribuicoes_tipos_id = $tipo;
        $desconto->valor = $valor;
        $desconto->inicio = $request->input('inicio');
        $desconto->fim = $request->input('fim');
        $desconto->observacao = $request->input('observacao');
        $desconto->login = Auth::user()->login;

        if($request->input('motivo_id')) {
            $desconto->descontos_motivos_id = $request->input('motivo_id');
        }

        $desconto->save();

        $this->aplicarDescontoContribuicoes($contratoId, $clientesId, $tipo, $request->input('inicio'), $request->input('fim') );

        DB::commit();
    }
    catch(Exception $e)
    {
        //failed logic here
        DB::rollback();
        throw $e;
    }

    return redirect('/perfil/descontos' . '/' .  encrypt($clientesId)  . '/' .  encrypt($request->matricula) );
}

我已经尝试过的操作:

  • 回滚项目到GitHub上之前正常的版本,问题依旧存在
  • 检查了create.blade.php的语法,没发现明显错误
  • 确认路由配置没有变动

有没有大佬能帮我找出问题所在?谢谢大家!

备注:内容来源于stack exchange,提问作者kyradio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:18:03