查询条件是默认找主键的?

前端的间可以随便起名字,然后 方法注入模型的时候会默认与表的主键进行匹配对吗?

http://{{local}}/api/users/:id/replies?include=topic.user
http://{{local}}/api/users/:user_id/replies?include=topic.user

public function userIndex(User $user){

        $replies = $user->replies()->paginate(20);

        return $this->paginator($replies, new ReplyTransformer());

    }
桃知夭夭
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 9
liyu001989
5年前 评论

@liyu001989 @liyu001989 嗯嗯 我看了这个问题明白了。 之前提问的说到的这个变量名字 , 变量名字其实是有意义的不能乱起的,要不他会关联不上到 User $user~

$api->get('users/{user}/replies','RepliesController@userIndex')
            ->name('api.users.replies.index');
5年前 评论
liyu001989

laravel 路由里面不能乱起,这是在定义路由,你 http 请求的时候不是始终是 id 吗 users/1/replies users/2/replies
这个对于postman,各种前端来说就是 id,他们怎么定义都行啊。

5年前 评论

@liyu001989 这回懂了, :see_no_evil:大神24小时在线的嘛~ 这都一天了,一直都会给我解答疑惑,太感谢了~ :ghost:

5年前 评论

其实变量名能不能“乱起”是相对的,如果你了解其中的原理,那就可以“乱起”。如果你让路由里的参数名和对应控制器方法里的参数名保持一致,就能够解析出正常的模型,如果不一致,框架就会给你一个空的模型

5年前 评论

@FMW
那就是这个意思被

$api->get('users/{user}/replies','RepliesController@userIndex')
            ->name('api.users.replies.index');
public function userIndex(User $user){....}

如果我的模型从 User 变成了 Users 那么代码就应该为

$api->get('users/{users}/replies','RepliesController@userIndex')
            ->name('api.users.replies.index');
public function userIndex(Users $user){....}

这么理解对吧

5年前 评论

@AmberLavigne 还是user啊,你userIndex里面的变量名是user

5年前 评论

@FMW

$api->get('users/{usersself}/replies','RepliesController@userIndex')
            ->name('api.users.replies.index');
public function userIndex(User $usersself){....}

现在懂了,是变量名称一致。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!