[英]Laravel route model binding does not get ID
I'm learning Laravel 5 and found something that I do not understand. 我正在学习Laravel 5,发现了一些我不理解的东西。 If I put this code to route, than everything goes fine:
如果我将此代码路由,那么一切都会顺利进行:
Route::bind('addresses', function($value, $route) {
return App\Address::find($value)->first();
});
But without it I got the: 但是没有它,我得到了:
Whoops, looks like something went wrong.
哎呀,看起来像出事了。 1/1 ReflectionException in Container.php line 736: Class Address does not exist
Container.php第736行中的1/1 ReflectionException:类地址不存在
error. 错误。
My routes: 我的路线:
Route::model('addresses', 'Address'); 路线:: model('addresses','Address'); Route::resource('addresses', 'AddressesController');
路线::资源(“地址”,“地址控制器”);
My AddressesController: 我的AddressesController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Address;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class AddressesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$addresses = Address::all();
return view('addresses.index', compact('addresses'));
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param Address $address
* @return Response
*/
public function show(Address $address)
{
return view('addresses.show', compact('address'));
}
My question is why I get the error code if I do not bind the ID value directly in my route. 我的问题是,如果我没有直接在路由中绑定ID值,为什么会得到错误代码。 Laravel says with RESTful Resource Controller I got the addresses/{address} with ID automatically, but it seems not.
Laravel说,使用RESTful资源控制器时,我会自动获得ID为ID的地址/ {address},但似乎没有。 Any idea?
任何想法? Thanky for your help.
谢谢您的帮助。
Route::model
takes full class name. Route::model
完整的类名。 Route::model('addresses', 'App\\Address');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.