我正在尝试创建一个RESTful CRUD controller,但有一点但显着的差异,可能与REST的想法相冲突,但无论如何:
我正在尝试批量修改项目/photos/{photo}/edit
,其中项ID参数类似于/photos/0&2&7/edit
在Laravel 5.3中建立这种方法的正确方法是什么? 有没有办法使用一些方法注入或至少在控制器方法中接收一组参数?
public function edit($id) {
//.......
}
感谢您的帮助,BR
答案 0 :(得分:1)
使用Eloquent你可以执行whereIn,所以你只需要展开photo参数,以便所有id都在一个数组中:
public function edit($ids) {
$photo_ids = explode('&', $ids);
$images = Image::whereIn('id', $photo_ids)->get();
}
你可以像我在这个例子中那样静态访问Image模型,你可以通过方法注入或依赖注入图像模型,如果你想要依赖/方法注入的帮助,请告诉我。
答案 1 :(得分:0)
嘿,我想你正在尝试模型绑定,所以你必须像这样使用
public function edit(Photo $photo) {
//.......
}
你的路线应该是这样的
Route::model('photos','App\Photo');
Route::resource('photos','PhotoController');
或者您可以尝试这种方式 你的路线和功能如下
Route::resource('photos','PhotoController');
public function edit($id) {
$photo = Photo::findorFail($id);
}