数据库中存储的 Laravel Blade 语法未解析

我将 URI / URL 和其他路由存储在我的链接数据表中。


我正在插入的链接示例。

        DB::table('links')->insert(

            [

                'group_id'          => $id,

                'title'             => 'Manage Pages',

                'type'              => 'uri',

                'url'               => '/',

                'uri'               => "{{ route('pages.admin-index') }}",

                'order'             => 0,

            ]);

正如你所看到的,我正在存储route()的Blade语法,因此当我从数据库中提取信息时,它将始终使用更新URL,因为我最初是直接添加路由的。


'uri' => route('pages.admin-index'),

'uri' => "{{ route('pages.admin-index') }}",

问题

当我从数据库中提取数据并将其呈现在屏幕上时,我没有得到解析的路线,我看到了显式的


<a href="{{%20route('pages.admin-index')%20}}%20"... 文本


我的查看文件

<a href="{{ $link->uri }}">

我如何从数据库检索

$navs = Groups::where('published',true)->get();


幕布斯6054654
浏览 111回答 1
1回答

紫衣仙女

我建议您存储路线名称而不是您的uri:DB::table('links')->insert([&nbsp; &nbsp; //...&nbsp; &nbsp; //'uri'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=> "{{ route('pages.admin-index') }}",&nbsp; &nbsp; 'route'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=> "pages.admin-index",]);在你看来:<a href="{{ route($link->route) }}">但是如果你坚持像这样在数据库上存储 PHP 代码,你可以使用evalPHP 函数:DB::table('links')->insert([&nbsp; &nbsp; //...&nbsp; &nbsp; 'uri'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=> "route('pages.admin-index')",]);<a href="{{ eval($link->uri) }}">
打开App,查看更多内容
随时随地看视频慕课网APP