doumalu9257 2016-02-22 22:25
浏览 49
已采纳

Laravel 5.2路由模型绑定

Laravel has a documentation regarding route model binding which could be found here. But there is no example with regards to this kind of scenario:

Route::get('search/', 'ArticleController@search');

How to I implicitly bind a model into the route? I know I could do something like this directly on the controller's method.

public function search(Model $model) {
    // some code here
}

But I'm just curious on how to do it on the routes instead.

I am after this approach

Route::get('search/{article}', function(ArticlesModel $articlesModel) {
    // this should be calling 'ArticleController@search'
});

Thanks!

  • 写回答

2条回答 默认 最新

  • dooid3005 2016-02-22 22:32
    关注

    Because your variable is called $model, Laravel will look for a wildcard segment of the url written as {model}:

    In routes.php:

    Route::get('search/{article}', 'ArticleController@search');
    

    In controller:

    function search(Article $article) {
        //$article is the Article with the id from {article}, ie. articles/2 is article 2
    }
    

    Edit... the way that you are suggesting doesn't really make sense. That would just be an extra step that is skipped entirely by just using "ArticleController@search". I think this code would function although I don't recommend it:

    Route::get('search/{article}', function(Article $article)
    {
        $controller = App::make(ArticleController::class);
        return App::call([$controller, 'search'], compact('article'));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛