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
相关产品推荐
相关产品推荐

