我正在编写REST API,并使用多态关系将图像分配给users
和products
(将来还会有更多,并且我希望代码能长期存在,因此我想构建适用于任何其他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()
和使用第一个“ /”之前的字符串部分来获取模型名称。但是,有没有更好的现成方法?还是我在正确的轨道上?
这就是我最终完成此操作的方式。感谢Shift Exchange的帮助Request::segment(1)
!
$parent_resource_class = studly_case( str_singular ( Request::segment(1) ) );
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句