【发布时间】:2014-09-27 10:35:22
【问题描述】:
我正在使用通过 routes.php 文件链接的资源控制器通过 Laravel 开发 API。请看下面的例子:
// API routes
Route::group(array('prefix' => 'v1'), function() {
Route::resource('users', 'UserController');
Route::resource('users.profile', 'UserProfileController');
Route::resource('users.tasks', 'UserTaskController');
});
通常,Laravel 在处理这些路由方面做得很好。但是有一个例外,我有一个我挣扎的地方。我的数据库模型旨在通过查看user_profiles 表中的外键user_id 在users 表和user_profiles 表之间建立一对一的关系。这意味着它作用于标识关系,因此它没有自己的主键,它实际上是借用了users 表的键。
现在,我想通过输入以下(示例)URL 时调用的UserProfileController 更新UserProfile 模型:http://api.projectX.dev:8000/v1/users/{id of the user}/profile。但是 Laravel 强迫我使用这样的 URL:http://api.projectX.dev:8000/v1/users/{id of the user}/profile/{some other useless ID}。
有什么方法可以神奇地从资源路由中删除最后一个 ID 并利用第一个 ID?
我希望有人可以帮助我,因为现在很难找到这个问题的答案。
【问题讨论】:
标签: php laravel laravel-4 laravel-routing nested-routes