2017-10-15 45 views
0

我正在使用laravel 5.2開發項目管理應用程序,在我的應用程序中用戶可以創建項目,一個項目有許多任務,一個任務有許多子任務。這是我的每個模型關係如何在Laravel 5.2中使用taskId打印任務名稱

項目模型

public function tasks(){ 
     return $this->hasMany('App\Task'); 
} 

任務模型

public function subtasks(){ 
     return $this->hasMany(Subtask::class); 
    } 

子任務模式

public function task(){ 
     return $this->belongsTo(Task::class); 
    } 

這是我的子任務的子任務的輸入表單/ form.blade .php

Add子課題負責人
<form class="form-vertical" role="form" method="post" action="{{ route('subtasks.form', ['projectId'=> $projectId, 'taskId'=>$taskId])}}"> 
    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 
    <input type="text" name="task_name" class="form-control" id="name" value="{{ old('task_name') ?: '' }}"> 
    @if ($errors->has('task_name')) 
     <span class="help-block">{{ $errors->first('task_name') }}</span> 
    @endif 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn btn-info">Create Task</button> 
    </div> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
</form> 

路線

Route::get('projects/{projectId}/task/{taskId}/subtask', function ($projectId, $taskId) { 

    return view('subtasks/form',['projectId'=>$projectId,'taskId'=>$taskId]); 
}); 
在我的表單文件

我可以打印$專案編號和$任務id以及但是現在我就需要到IDS我怎麼能做到這一點的打印PROJECT_NAME和TASK_NAME?

更新問題 請參閱我的子任務店裏方法

public function store(Request $request,$projectId,$taskId) 
    { 
     $subtask = new Subtask; 
     $subtask->subtask_name = $request->input('task_name'); 
     $subtask->task_id = $taskId; 
     $subtask->project_id = $projectId; 

     $subtask->save(); 
     // 
    } 

回答

1

你可以像這樣(Q & d溶液):

Route::get('projects/{projectId}/task/{taskId}/subtask', function ($projectId, $taskId) { 
    $project = \App\ProjectModel::find($projectId); 
    $task = \App\TaskModel::find(taskId); 
    return view('subtasks/form',['project'=>$project,'task'=>$task]); 
}); 

注:在您的表單操作,你會需要更新以下內容:

['projectId'=> $projectId, 'taskId'=>$taskId] 

通過:

['projectId'=> $project->id, 'taskId'=>$task->id] 
+0

請參閱我的更新問題,如何根據這一新的變化 – John

+0

我給你沒有改變任何東西的代碼改變我的子任務存儲方法。它只允許您在視圖中訪問對象的其他屬性。在你的更新方法中,你仍然有'$ projectId'和'$ taskId'變量。什麼是錯誤? –

+0

得到這個錯誤** Class'Project'not found ** – John