【问题标题】:Laravel route model binding does not get IDLaravel 路由模型绑定不获取 ID
【发布时间】:2015-12-08 01:27:17
【问题描述】:

我正在学习 Laravel 5,发现了一些我不明白的东西。如果我把这段代码放到路由上,一切都会好起来的:

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

但没有它我得到了:

哎呀,好像出了点问题。 1/1 反射异常在 Container.php 第 736 行:类地址不存在

错误。

我的路线:

Route::model('地址', '地址'); Route::resource('addresses', '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 的地址/{address},但似乎没有。任何想法?感谢您的帮助。

【问题讨论】:

    标签: php laravel binding model routing


    【解决方案1】:

    Route::model 采用完整的类名。 Route::model('addresses', 'App\Address');

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 2016-06-04
      • 2019-09-24
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 2018-12-17
      • 2015-07-12
      相关资源
      最近更新 更多