在Laravel上获取父资源路由模型?

时间:2015-01-25 01:39:17

标签: php laravel-4 laravel-routing

我正在编写一个REST API,我正在使用多态关系将图像分配给usersproducts(将来会有更多,我打算让代码长寿,所以我想构建一些适用于任何其他imageable模型的东西。

所以我有这样的路线:

Route::resource('images', 'ImagesController');
Route::resource('products.images', 'ImagesController');
Route::resource('users.images', 'ImagesController');

因此,发布到/products/{id}/images/users/{id}/images会调用相同的操作:ImagesController::store( $resource_id )。所以除了父模型名称外,我还有创建数据库记录的所有内容!

我的第一个猜测是使用Route::current()->getName()并使用第一个“/”之前的字符串部分来获取模型名称。但是,有更好的,开箱即用的方式吗?或者我正在追寻正确的轨道?

2 个答案:

答案 0 :(得分:4)

只需使用Laravel request segment功能

即可
$parent_resource = Request::segment(1);
// gives 'products' or 'users'

答案 1 :(得分:1)

这是我最终如何做到这一点。感谢Request::segment(1)部分的The Shift Exchange

$parent_resource_class = studly_case( str_singular ( Request::segment(1) ) ); 
相关问题