【问题标题】:Missing required parameters for [Route: editoffice][Route:editoffice] 缺少必需的参数
【发布时间】:2018-06-20 15:08:47
【问题描述】:

所以我的办公室页面中有这个 Editform 问题是当我按下编辑按钮时它会说这个

Missing required parameters for [Route: editoffice] [URI: building/{id}/offices/{office_id}/edit]. (View: C:\xampp\htdocs\Eguide\resources\views\editoffice.blade.php)

路线

Route::get('building/{id}/offices/{office_id}/edit', 'OfficeController@edit')->name('editofficeform');
Route::post('building/{id}/offices/{office_id}/edit', 'OfficeController@update')->name('editoffice');

Building.blade.php

这是编辑按钮的代码

<a href="{{route('editofficeform', ['id'=>$building->id, 'office_id'=>$office->id])}}" class="btn btn-success btn-sm">Edit</a>

OfficeController.php

    public function edit(Request $request, $id)
{
    $office_id = $request->get('office_id');
    $office = Office::find($office_id);
    return view('editoffice')->withOffice($office)->with('id',$id);

    }

public function update(Request $request, $id)
    {
        $office = Office::find($id);
        $office->name =$request->officename;
        $office->floor = $request->floor;
        $office->update();
          \Session::flash('building_flash', 'Updated successfully!');
         return redirect()->back();

    }

editoffice.blade.php

@extends('layouts.main')
@section('title', 'Create an Office')
@section('content')

{!! Form::open(array('route' => ['editoffice', $id], 'class' => 'form')) !!}
<div class="container">

            <div class="form-group">
                {!! Form::label('Office Name') !!}
                {!! Form::text('officename', $office->name,        array('required',
                          'class'=>'form-control',
                          'placeholder'=>'Office Name')) !!}
            </div>
            <div class="form-group">
                {!! Form::label('Office Floor') !!}
                {!! Form::text('floor', $office->floor,        array('required',
                          'class'=>'form-control',
                          'placeholder'=>'Office Floor')) !!}
            </div>

<div class="form-group">
    {!! Form::submit('Update Office',
      array('class'=>'btn btn-primary')) !!}


     <a href="{{ route('building', ['id' => $id] ) }}" class="btn btn-default">Back</a>



</div>
{!! Form::close() !!}

@endsection

我的代码有什么问题?

【问题讨论】:

  • 请显示editoffice.blade.php 视图。
  • 看看@AlexeyMezenin

标签: php laravel


【解决方案1】:

将表格更改为:

{!! Form::open(array('route' => ['editoffice', [$id, $office->id]], 'class' => 'form')) !!}

另外,将editupdate 方法更改为:

public function edit($id, $office_id) {
    $office = Office::find($office_id);
    return view('editoffice', compact('office', 'id'));
}

public function update(Request $request, $id, $office_id)

【讨论】:

  • @TeamPlarJarj 你有另一个问题,我已经更新了答案。
  • 试图获取非对象的属性“id”(查看:C:\xampp\htdocs\Eguide\resources\views\editoffice.blade.php)它显示了这个不知道为什么它不是对象@Alexey Mezenin :(
  • @TeamPlarJarj 但您在视图中使用了 $office 变量。确保它不是null。或者使用您用来传递办公室 ID 的任何其他变量。关键是您需要将其作为第二个参数传递。
  • 你是什么意思@Alexey Mezenin
  • @TeamPlarJarj 我的意思是你收到这个错误是因为$officenull。但是您将$office 变量传递给视图。它与原始问题无关,但如果您无法自行处理,请显示{{ dd($office) }}的结果
猜你喜欢
  • 1970-01-01
  • 2021-11-05
  • 2018-10-28
  • 2018-12-01
  • 2016-06-29
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多