在我的场景中,我来自以下路线:
false
我正在访问路线:
model/{model}/edit
我制作模型的副本并存储
model/{model}/duplicate
之后,我希望通过这样做的方式返回编辑新模型的路线:
$duplicate_model = $model->replicate();
$duplicate_model->save();
希望它将模型ID替换为重复模型的模型ID,但它不会。
我无法访问特定路由,因为可能会访问重复路由的不同情况。
答案 0 :(得分:4)
其中一个解决方案就是解决所有可能的反向路由命名,从而像这样从后面的URL解析路由名称:
$back_route_name = app('router')->getRoutes()->match(app('request')->create(redirect()->back()->getTargetUrl()))->getName();
然后按名称重定向到路线:
return redirect()->route($back_route_name, ['template' => $duplicate_template]);
答案 1 :(得分:0)
您可以定义"路径()"在你的模型中。 在这种情况下 /
/模型/ {模型} /编辑
在模型中定义一个函数
你的ThatModelController.php 中的public function path(){ 返回' / model /' 。 $ this-> id。 ' /编辑&#39 ;; }
简单
返回重定向($ dumplicate_model-> path());
它应该有用,Jeffery Way使用这个约定。
注意:如果您正在使用路径模型绑定并使用slug path()函数应该返回$ this-> slug而不是$ this-> id