我不想在我的Laravel项目的网址字段中显示/route_name/{id}
。而不是我希望显示/route_name/{name}
并将后端中的id
传递给控制器。
假设我有一个视图department.blade.php
。现在点击菜单栏中的knee pain
查看详细信息。这是我的观点代码
<a href="{{ url('/home_services_under_department/'.$data->id) }}>
{{$data->name}}
</a>"
点击knee pain
一个名为的路线。这是路线
Route::get('/home_services_under_department/{id}', 'frontendDepartmentController@home_services_under_department');
以下是home_services_under_department
方法格式
public function home_services_under_department($id){}
这是我在浏览器中的网址 http://url/home_services_under_department/2
但我不想在id
之后看到home_services_under_department
,我想在knee-pain
之后看到名称home_services_under_department
作为参数,如
http://url/home_services_under_department/knee-pain
并且还希望将id
传递给控制器方法。
Laravel有可能吗?
答案 0 :(得分:1)
您可以先在网址中传递名称,然后在控制器中使用名称和proccess检索id,并使用您想要执行的ID,然后再次返回带有名称的网址,以便它不会在网址和网址中显示前端 如果您想要获得更多安全保护,请使用适当的算法对URL中的名称进行加密/哈希并检索并处理它
答案 1 :(得分:1)
您可以传递名称,并可以从数据库中检索 ID 。
<强> 1。 HREF 强>
<a href="{{ url('/home_services_under_department/'.$data->name) }}>
{{$data->name}}
</a>
<强> 2。路线强>
Route::get('/home_services_under_department/{name}',
'frontendDepartmentController@home_services_under_department');
第3。功能强>
public function home_services_under_department($name){
$data= Model_name::select('id')->where('name', $name)->first();
}
答案 2 :(得分:0)
您应该更新您的路线并查看文件代码,如:
路线
SELECT *
FROM meeting
LEFT JOIN meeting_status ON meeting.id = meeting_status.meeting_id where(teacher_id IS NULL
OR teacher_id <> 28)
<强> department.blade.php 强>
Route::get('/home_services_under_department/{id}', 'frontendDepartmentController@home_services_under_department')->name('homeservicedepartment');
答案 3 :(得分:0)
不,你不能。
如果你想&#34;通过&#34;您可以在网址(即&#39; GET&#39;)中输入ID,也可以发送&#39; POST&#39;并将id作为参数之一传递。当然,您无法使用简单的链接发送帖子,但您可以伪造帖子看起来像链接。
titles.has_key?(item)
&#13;