Laravel, Show(), Edit (), update 函数不起作用



在下面的代码中,方法显示,编辑更新不起作用。

<?php
namespace AppHttpControllersadmins;
use IlluminateHttpRequest;
use AppHttpControllersController;
use Appcontact;
use Image;
use Auth;
use Storage;
use File;
class ContactController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$contact = Contact::orderby('created_at', 'desc')->paginate(5);
//$agent=Agent::orderby('id','desc')->paginate(5);
return view('admin.messages.index', ['contacts' => $contact]);
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return back()->with('success', 'Message can only be created by Users end.');
}
/** * Display the specified resource.
*
* @param Appcontact $contact
* @return IlluminateHttpResponse
*/
public function show(contact $contact)
{
dd(['contact' => $contact]);
//return back()->with('success','Message Contents Are Already Shown');
}
/** 
* Show the form for editing the specified resource. 
* 
* @param Appcontact $contact 
* @return IlluminateHttpResponse 
*/
public function edit(contact $contact)
{
return view('admin.messages.edit', compact('contact'));
}
/**
* Update the specified resource in storage.
*
* @param  IlluminateHttpRequest $request
* @param  Appcontact $contact
* @return IlluminateHttpResponse
*/
public function update(Request $request, contact $contact)
{
dd($request);
}
/**
* Remove the specified resource from storage.
*
* @param  Appcontact $contact
* @return IlluminateHttpResponse
*/
public function destroy(contact $contact)
{
return back()->with('success', 'Message history can not be Deleted. ');
}
}

假设您在类似contacts/{ slug }的路由中使用 slug

public function show(contact $contact)
{
dd(['contact' => $contact]);
//return back()->with('success','Message Contents Are Already Shown');
}

收到的是 ID 而不是联系人...您正在函数参数中初始化/声明为联系人,这就是为什么它以某种方式被强制转换为联系人的原因......但它是一个 ID,您应该执行以下操作:

public function show($id)
{
$contact = Contact::findOrFail($id);
dd(['contact' => $contact]);
//return back()->with('success','Message Contents Are Already Shown');
}

最新更新