您好我试图删除名为projecttasks的数据透视表中的一行,然后返回当前页面,我删除了一个项目任务。以下是我浏览器中视图的屏幕截图:
link:http://i.imgur.com/0lY4sJl.png
删除projecttasks表中的行有效,但返回当前视图还不行。我知道为什么会这样。这是因为我的$ project_id变量在我的ProjectTaskController中没有任何值。但在删除projecttasks表中的行之前,我确实在视图中看到了值。
我将首先向您展示我在浏览器上看到的错误页面:
link:http://i.imgur.com/3tIgZ45.png
那对我来说并不清楚,但我确实看到网址看起来很奇怪。因为它有双正斜杠。它看起来像这样:
http://localhost/offerteTool/public/user/projects//edit
我现在会告诉你我曾尝试过的事情:
form.blade.php(查看):
@foreach ($project->projecttask as $pt)
<tr>
<td>
{{ $pt->task['task_name'] }}
</td>
<td>
{{-- {{ $project->id }} --}}
<input type="hidden" name="projectId" value="{{$project->id}}"/>
{{-- {{Form::hidden('id', $project->id)}} --}}
</td>
<td>
{{ Form::text('hour', $pt->hour, array('class' => 'form-control', 'id'=>'hour')) }}
</td>
<td>
{{ Form::text('hour_salary', $pt->hour_salary, array('class' => 'form-control', 'id'=>'hour_salary')) }}
</td>
<td>
{{ Form::text('total_salary', $pt->total_salary, array('class' => 'form-control', 'id'=>'total_salary', 'disabled')) }}
{{-- {{ Form::text('total_salary', $project->total_salary, array('class' => 'form-control', 'id'=>'total_salary', 'disabled')) }}--}}
</td>
<td>
<div class="dropdown">
<button type="button" class="btn btn-danger dropdown-toggle selDelete" data-toggle="dropdown">
<input id="check1" name="checkbox[]" type="checkbox" class="check" >
<span class="caret-hover caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="selDelete" role="menu">
<li><a href= "{{ route('user.projecttasks.destroy',array( $pt->id )) }}" data-method="delete" >Delete</a></li>
</ul>
</div>
</td>
</tr>
@endforeach
ProjectTasksController.php:
<?php
public function destroy($id)
{ $project_id=Input::get('projectId');
//die(print_r($project_id)); //there is no value in $project_id
Projecttask::destroy($id);
//$project = Project::find($project_id);
return Redirect::route('user.projects.edit', array($project_id));
}
然后我们去routes.php:
<?php
Route::group(array('prefix'=>'user', 'before'=>'auth'),function(){
Route::resource('usergroups', 'UsergroupsController');
Route::resource('orders', 'OrdersController');
Route::resource('users', 'UsersController');
Route::resource('tasks', 'TasksController');
Route::resource('projects', 'ProjectsController');
Route::get('orders/destroy/{id}',array('as'=>'user.orders.destroy', 'uses'=>'OrdersController@destroy'));
Route::get('users/destroy/{id}',array('as'=>'user.users.destroy', 'uses'=>'UsersController@destroy'));
Route::get('projects/destroy/{id}',array('as'=>'user.projects.destroy', 'uses'=>'ProjectsController@destroy'));
Route::get('projecttasks/destroy/{id}',array('as'=>'user.projecttasks.destroy', 'uses'=>'ProjectTasksController@destroy'));
});
然后我们在ProjectsController.php中运行edit()方法:
public function edit($id)
{
$project = Project::find($id);
return View::make('user.projects.edit', compact('project'));
}
有人可以帮助我吗?