【发布时间】:2016-09-26 14:31:44
【问题描述】:
您好,我想从数据库中删除用户正在检查的所有行,但每当我这样做时,我都会收到此错误"Missing argument 1 for App\Http\Controllers\UploadController::deleteSelectedUploads()"。我知道为什么会出现这个错误,因为我没有将任何 id 传递给它,如果我将任何 id 传递给它,那么它会显示 Undefined variable: upload。请帮帮我。我知道我现在已经发布了很多问题,后来我自己解决了,但我想这是唯一的学习方式。
控制器
public function deleteSelectedUploads($id) {
//$uploads = $this->upload->get($id);
// $checkboxes = $this->request->input('checkbox[]');
// if((Auth::user()->role=='admin')) {
// $this->upload->deleteUpload($id);
// } else {
// Session::flash('message', "Oooopsss ... ! seems like you don't have the authority to
// <span style=font-weight:bold;'><u>DELETE</u></span> this file.
// <span style='font-size:15pt; font-weight:bold;'> Contact ADMIN </span>");
// return redirect('home');
// }
$checkbox = Input::all();
foreach($checkbox['checkbox'] as $id) {
Upload::where('id', $id)->delete();
}
Session::flash('message', 'You File has been deleted');
return redirect('home');
}
查看
<th><form action="/delete-selected-uploads" method="get">
<input type="checkbox" name="checkbox" onClick="toggle(this)"/>
<input type="submit" class="btn btn-block btn-success btn-xs" value="Delete all checked">
</form>
</center>
</th>
<td>
<input type="checkbox" name="checkbox[]" id="{{ $upload['id'] }}" value="{{$upload['id']}}">
</td>
路线
Route::get('/delete-selected-uploads', 'UploadController@deleteSelectedUploads');
【问题讨论】:
-
请提供您的完整控制器功能,包括头部部分
-
请打印输出'var_dump(Input::all()); ' 或将任何日志文件或打印屏幕与控制器中的输出一起放入
-
我这里更新了控制器...
-
var_dump 不工作......它给出了同样的错误......它需要 id 来执行该方法......
ErrorException in UploadController.php line 104: Missing argument 1 for App\Http\Controllers\UploadController::deleteSelectedUploads() -
我已经粘贴了下面的代码,我在其中定义了@foreach 来测试 input::all() 并且我在
array:1 [▼ "checkbox" => array:1 [▼ 0 => "76" ] ]的所有内容上只有 1 个数组@