【发布时间】:2015-05-09 22:06:15
【问题描述】:
Laravel (5) 新手问题。构建项目/任务项目。
路线:
Route::resource('project', 'ProjectsController');
Route::resource('project.task', 'TasksController');
项目模型:
public function tasks()
{
return $this->hasMany('App\Tasks');
}
任务模型:
public function project()
{
return $this->belongsTo('App\Projects');
}
现在正在尝试编辑/更新特定任务。 任务路径是 project/{project}/task/{task}/edit
** 问题 - 我在 TasksController 中的编辑和更新功能是否正确?它有效,但不确定是否应该这样做...... **
public function edit($project_id, $task_id)
{
$Task = Tasks::find($task_id);
return view('task_edit', compact('Task'));
}
public function update($project_id, $task_id)
{
$input = array_except(Input::all(), '_method');
$Task = Tasks::find($task_id);
$Task->update($input);
return Redirect::route('project.show', array($Task->project->id));
}
【问题讨论】:
-
如果您在 Task 模型上分配了一个 $fillable 数组,那么您不需要从 $input 中删除 _method,您可以发送 Input::all () 并且只有可填充的列将是更新。您可能也应该实施一些验证。
-
谢谢。将仅尝试使用 Input::all()。是的,需要实施验证。 $project_id 参数呢?我很困惑是否应该以某种方式使用传递给编辑/更新(也包括创建和存储)函数的 $project_id 参数?
标签: php laravel-5 has-many belongs-to