我将URI/URL和其他路由存储在我的链接数据表中。
DB::table('links')->insert(
[
'group_id' => $id,
'title' => 'Manage Pages',
'type' => 'uri',
'url' => '/',
'uri' => "{{ route('pages.admin-index') }}",
'order' => 0,
]);
如您所见,我正在存储route()的刀片语法,因此当我从数据库中提取信息时,它将始终使用更新URL,就像我最初直接添加路由一样。
'uri' => route('pages.admin-index'),
'uri' => "{{ route('pages.admin-index') }}",
当我从数据库中提取数据并将其呈现在屏幕上时,我没有得到解析的路由,我看到了显式的
<a href="{{ $link->uri }}">
$navs = Groups::where('published',true)->get();
我建议您存储路由名称,而不是您的URI
:
DB::table('links')->insert([
//...
//'uri' => "{{ route('pages.admin-index') }}",
'route' => "pages.admin-index",
]);
根据你的观点:
<a href="{{ route($link->route) }}">
但是如果您坚持像那样在DB上存储PHP代码,您可以使用eval
PHP函数:
DB::table('links')->insert([
//...
'uri' => "route('pages.admin-index')",
]);
<a href="{{ eval($link->uri) }}">