编辑表单不显示要在 laravel 5 中编辑的值
edit form does not display values to edit in laravel 5
我正在尝试在 Laravel 5.4 中创建 CRUD 应用程序,但是我已经完成了创建和显示表单,现在剩下的是编辑和删除,但是编辑表单确实显示信息,而是它带来了一个创建表单并创建了一个新记录而不是创建。任何帮助都是 appreciated.Below 是我的控制器
<?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
您的视图希望模型被称为 $contacts,因此将控制器中的 edit() 方法更改为以下内容:
public function edit($id)
{
$contact = Contacts::findOrFail($id);
return view('contacts.edit', ['contacts' => $contact]);
}
在你的控制器中试试这个
public function edit($id)
{
$contacts = Contacts::findOrFail($id);
Return to view ('contacts. edits', compact ('contacts'));
}
我正在尝试在 Laravel 5.4 中创建 CRUD 应用程序,但是我已经完成了创建和显示表单,现在剩下的是编辑和删除,但是编辑表单确实显示信息,而是它带来了一个创建表单并创建了一个新记录而不是创建。任何帮助都是 appreciated.Below 是我的控制器
<?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
您的视图希望模型被称为 $contacts,因此将控制器中的 edit() 方法更改为以下内容:
public function edit($id)
{
$contact = Contacts::findOrFail($id);
return view('contacts.edit', ['contacts' => $contact]);
}
在你的控制器中试试这个
public function edit($id)
{
$contacts = Contacts::findOrFail($id);
Return to view ('contacts. edits', compact ('contacts'));
}