2017-09-25 129 views
-1

我正在使用laravel應用程序。在我的應用程序中,我有控制器功能來查看窗體如下。如何在Laravel 5.2中路由localhost url

public function create() 
    { 
      return view('projects.new'); 
     } 

當查看項目/ new.blade.php文件它包含窗體。在此表格中填寫並保存它是在項目表中生成新項目。現在我需要保存此表單後,將頁面重定向到同一個項目文件夾中的collaborator.blade.php文件。和本地主機URL,因爲這

localhost:8000/projects/10/collaborators 

這是我的控制器方法

public function projectcollaborators() 
     { 
      return view('projects.collaborators'); 

     } 

和路線

Route::get('projects/{projects}/collaborators', [ 
    'uses' => '\App\Http\Controllers\[email protected]', 

]); 

如何管理控制器和路線上述要求的成功?

+0

使用Eloquent ORM將發佈的數據保存到表中,並僅對POST路由執行重定向。你向我們展示了一條基本上返回視圖的線。請張貼你的路線和控制器功能,看看你已經嘗試過。 – Peter

+0

@Peter請參閱我編輯的問題 – John

回答

0

你應該有一個路線::後在你的路線文件捕獲表單提交,

這樣說:Route::post('projects', '[email protected]');

返回的觀點應該被稱爲指數有這樣一個路線的功能: Route::get('projects', '[email protected]');

在創建函數中,您可以使用Input()來獲取表單提交的信息。

獲取您需要的信息後,您可以使用Eloquent將詳細信息添加到項目表中。

例如

$project = new Project(); 
$project->name = 'Name' 
$project->fields = 'Text' 
$project->save(); 

插入和節省的細節到數據庫後,您可以使用重定向功能進行重定向至projects/ID/collaborators路線。

您還需要創建projects/ID/collaborators路線,所以你沒得到了404 ...

例如Route::get('projects/{id}/collaborators', '[email protected]');

+0

那麼我可以使用另一個控制器(如ProjectCollaboratorController)來執行此操作 – John

+0

是的。只要使用您使用的任何控制器並在路線中更改即可。 – Peter