Mass CRUD REST编辑/更新控制器

时间:2016-10-29 13:36:49

标签: rest laravel controller crud laravel-5.3

我正在尝试创建一个RESTful CRUD controller,但有一点但显着的差异,可能与REST的想法相冲突,但无论如何:

我正在尝试批量修改项目/photos/{photo}/edit,其中项ID参数类似于/photos/0&2&7/edit

在Laravel 5.3中建立这种方法的正确方法是什么? 有没有办法使用一些方法注入或至少在控制器方法中接收一组参数?

public function edit($id) {
    //.......
}

感谢您的帮助,BR

2 个答案:

答案 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);
}