编辑窗体不显示要在laravel 5编辑的值
问题描述:
我试图在Laravel 5.4中创建CRUD应用程序,但是我已经完成创建和显示窗体现在剩余的编辑和删除,但编辑窗体确实显示信息而不是它带来的创建表单并创建新记录而不是创建。任何帮助将是appreciated.Below是我的控制器编辑窗体不显示要在laravel 5编辑的值
<?php
namespace App\Http\Controllers;
use \App\Http\Requests\contactsrequest;
use App\contacts; // contacts model included using "use"
class contactscontroller extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//Display Data
//find contact by contacts model
// use model contacts and include the use App\contacts model
// variable contact holds all values of contacts table
$contact=contacts::all(); // contavt
return view('contacts.index',['contacts'=>$contact]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
return view('contacts.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(contactsrequest $request)
{
//contacts model
contacts::create($request->all());
return redirect()->route('contacts.index')->with('message', 'Contacts has been added successfully');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(contacts $contacts)
{
//
return view('contacts.edit', compact('contacts'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(contactsrequest $request, contacts $contacts)
{
//
$contacts->update($request->all());
return redirect()->route('contacts.index')->with('message', 'Contacts has been updated successfully');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
The edit form is below
<!-- Home page to Display contacts -->
@extends('master')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Update Contacts</h3>
</div>
<div class="panel-body">
<!-- $contacts is object -->
{{Form::model($contacts, array('route'=>['contacts.update', $contacts->id],'method'=>'POST'))}}
<!-- input name, value is null, the parameters e.g class, placeholder etc -->
<div class="form-group">
{{Form:: label('Name','Enter name') }}
{{Form:: text('Name',null, ['class'=>'form-control','placeholder'=>'Enter Name']) }}
</div>
<div class="form-group">
{{Form:: label('Phone','Mobile Number') }}
{{Form:: text('Phone',null, ['class'=>'form-control','placeholder'=>'Enter Mobile Number']) }}
</div>
<div class="form-group">
{{Form:: label('Email','Email Address') }}
{{Form:: email('Email', null, ['class'=>'form-control','placeholder'=>'Enter Email Address']) }}
</div>
<div class="form-group">
{{ Form::button('Update',['class'=>'btn btn-primary', 'type'=>'submit'])}}
|
<a href="{{route('contacts.index')}}" class="btn btn-warning btn-sm"> <i class="fa fa-plus-square fa-lg" aria-hidden="true" style="border: none;"></i>Back</a>
</div>
{{Form:: close() }}
</div>
</div>
</div>
</div>
</div>
@endsection
答
在你的控制器上试试这个
public function edit($id)
{
$contacts = Contacts::findOrFail($id);
Return to view ('contacts. edits', compact ('contacts'));
}
答
您的视图期望的模型被称为$接触,以改变你的编辑()方法在控制器是以下几点:
public function edit($id)
{
$contact = Contacts::findOrFail($id);
return view('contacts.edit', ['contacts' => $contact]);
}
+0
Handler.php中的NotFoundHttpException行131:模型[App \ contacts]没有查询结果[] –
+0
尝试工作(现有)标识 –
这是什么形式? –
我已经包含了编辑表单代码...现在检查我已编辑 –