Laravel路径模型绑定无法获取ID

时间:2015-09-11 13:05:18

标签: php laravel binding model routing

我正在学习Laravel 5,发现了一些我不理解的东西。如果我把这个代码放到路线上,那么一切都很顺利:

Route::bind('addresses', function($value, $route) {
    return App\Address::find($value)->first();
});

但没有它,我得到了:

  哎呀,好像出了什么问题。 1/1 ReflectionException in   Container.php第736行:类地址不存在

错误。

我的路线:

路由::模型('地址','地址'); Route :: resource('addresses','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'));
    }

我的问题是,如果我没有直接在我的路由中绑定ID值,为什么我会收到错误代码。 Laravel说,使用RESTful资源控制器,我自动获得带有ID的地址/ {地址},但似乎没有。任何的想法?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

Route::model获取完整的班级名称。 Route::model('addresses', 'App\Address');