为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
幕布斯6054654 2023-07-01 15:28:59
我将 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();
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

我建议您存储路线名称而不是您的uri:


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

    //...

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

    'route'               => "pages.admin-index",

]);

在你看来:


<a href="{{ route($link->route) }}">

但是如果你坚持像这样在数据库上存储 PHP 代码,你可以使用evalPHP 函数:


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

    //...

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

]);

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


查看完整回答
反对 回复 2023-07-01
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信