zoukankan      html  css  js  c++  java
  • laravel 路由隐式绑定

     Laravel 路由:自定义模型绑定 1 个改进

     
     

    路由模型绑定

    当向路由或控制器行为注入模型 ID 时,就需要查询这个 ID 对应的模型。Laravel 为路由模型绑定提供了一个直接自动将模型实例注入到路由中的方法。例如,你可以注入与给定 ID 匹配的整个 User 模型实例,而不是注入用户的 ID。

     

    隐式绑定

    Laravel 会自动解析定义在路由或控制器行为中与类型提示的变量名匹配的路由段名称的 Eloquent 模型。例如:

    Route::get('api/users/{user}', function (AppUser $user) {
        return $user->email;
    });

    在这个例子中,由于 $user 变量被类型提示为 Eloquent 模型 AppUser,变量名称又与 URI 中的 {user} 匹配,因此,Laravel 会自动注入与请求 URI 中传入的 ID 匹配的用户模型实例。如果在数据库中找不到对应的模型实例,将会自动生成 404 异常。

     

    自定义键名

    如果你想要模型绑定在检索给定的模型类时使用除 id 之外的数据库字段,你可以在 Eloquent 模型上重写 getRouteKeyName 方法:

    /**
     * 获取该模型的路由的自定义键名。
     *
     * @return string
     */
    public function getRouteKeyName()
    {
        return 'slug';
    }
  • 相关阅读:
    HO引擎近况20210912
    查询超时问题的处理
    ubuntu根据关键词批量杀进程
    创建notebook适用的虚拟环境
    信赖域策略优化(Trust Region Policy Optimization, TRPO)
    强化学习(Reinforcement Learning)
    生成对抗网络(GAN与W-GAN)
    卷积神经网络CNN
    循环神经网络RNN
    PyTorch自动求导
  • 原文地址:https://www.cnblogs.com/agang-php/p/13772778.html
Copyright © 2011-2022 走看看