Redirect 拉维5;在存储或查看后重定向到上一节

Redirect 拉维5;在存储或查看后重定向到上一节,redirect,laravel-5,routes,Redirect,Laravel 5,Routes,我认为这是一个基本的问题,但我找不到任何解决这个问题的方法,所以我可能用了错误的方式或错误的关键字进行搜索 我的数据库里有很多文章,在网站上有很多阅读/编辑的方法。 -访问者可以在列表中看到它们,单击它们并阅读整篇文章 -注册用户可以在同一列表中看到它们,但单击它们可以阅读或编辑文章 -管理员可以看到不同的列表(不同的视图),并编辑或删除它们 我相信我会想出一些其他方法来阅读或编辑文章或其他数据 关键是,如果访问者或用户阅读或编辑了文章,我希望他们返回到自己的文章索引,但如果管理员阅读或编辑了文

我认为这是一个基本的问题,但我找不到任何解决这个问题的方法,所以我可能用了错误的方式或错误的关键字进行搜索

我的数据库里有很多文章,在网站上有很多阅读/编辑的方法。 -访问者可以在列表中看到它们,单击它们并阅读整篇文章 -注册用户可以在同一列表中看到它们,但单击它们可以阅读或编辑文章 -管理员可以看到不同的列表(不同的视图),并编辑或删除它们 我相信我会想出一些其他方法来阅读或编辑文章或其他数据

关键是,如果访问者或用户阅读或编辑了文章,我希望他们返回到自己的文章索引,但如果管理员阅读或编辑了文章,我希望他返回到管理员索引

所以从一开始我就有很多路线:

Route::get('/article'... will display the index of articles
Route::get('/article/{name}'... will display an article
Route::get('/article/{name}/edit'... will display the edit form for the article
Route::post('/article/{name}'... will update the article
对于管理员:

Route::get('/admin/article'... will display the index of article
Route::get('/admin/article/{name}'... will display an article
Route::get('/admin/article/{name}/edit'... will display the edit form for the article
Route::post('/admin/article/{name}'... will update the article
但是..Route::post('/article/{name}'和Route::post('/admin/article/{name})应该指向同一个函数来更新数据,并且该函数应该重定向到不同的路由,在本例中是Route::get('/article'和Route::get('/admin/article'

我真的不想编写两个不同的例程来存储或更新数据库中的数据,它们实际上是相同的,除了更新或存储后的“重定向”行

我的第一个想法是创建两个路由,在我的控制器中有两个条目,每个条目调用保存数据的相同例程,并返回我可以重定向的位置,但是我必须在表单中使用不同的“操作”。这意味着我必须创建两个相同的表单,除了“操作”行

无论我做什么,我都必须根据我开始阅读或编辑数据之前所在的网站部分重定向到某个地方

我读了一些关于'back()'-函数的内容,但这对我没有帮助,因为我希望能够阅读一篇文章,然后选择编辑它,然后返回到我的索引

我希望我能够解释我想做什么,我相信我不是唯一一个寻找这个的人,但我再次未能找到正确的解决方案


实现这一点的最佳方法是什么?!?

我只想将普通用户和管理员用户之间的控制器分开。这样,您的代码将保持清晰易懂

例如,您可以创建以下文件夹结构:

app
 - Http
  - Controllers
   - Admin
   - User
不要忘记更改控制器中的名称空间


如果你真的想为两个用户使用同一个控制器,那么你需要做一些If-else语句,看看你在处理什么类型的用户,并根据结果重定向。你的应用程序中是否有某种角色结构?

我确实为这篇文章提供了一个控制器。在我看来,这是最干净的还有一个角色结构。但问题是,在我的文章控制器中,当我保存后重定向时,我必须根据我的来源重定向到一个路由。我如何才能看到我的站点的哪个部分称为文章控制器?只需创建一个用户文章控制器和一个管理员文章控制器。关于重定向权限,您只有两个选项用户或管理员?将你的管理员路径指向管理员文章控制器,用户指向用户文章控制器。你也可以根据角色做出某种if-else语句,然后重定向到正确的位置。这是一种可能性,但不是我要找的。我也需要水獭模型的这个“技巧”。所以我肯定正在寻找一个选项,根据我来自的部分或根据当前URL有条件地重定向。也许你可以使用Laravel的URL帮助程序来完成你想要的。