微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

模型在laravel布局部分中不起作用

如何解决模型在laravel布局部分中不起作用

我在Laravel项目的布局部分中使用了这段代码

@PHP

$setting = setting();

@endPHP

因为它是一种布局,所以我没有在任何地方调用文件,但是多次包含它。

无论它包含在哪里,都会向我显示错误

Error
Call to undefined function setting()

这里出了什么问题? 我的设置模型是:

<?PHP

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Setting extends Model
{
    protected $table = 'setting';
    protected $primaryKey = 'id';
}
?>

我的完整版式文件也是Here

设置功能在Helper.PHP文件中定义。在这里

<?PHP

function setting(){
    return \App\Model\Setting::first();
}
?>

我该如何解决? TIA

解决方法

您不需要使用:

@php

$setting = setting();

@endphp

composer有一个files键(它是文件路径的数组),您可以在autoload内定义。因此您可以在path文件中添加辅助文件的composer.json

"autoload": {
    "psr-4": {
        "App\\": "app/"
    },"classmap": [
        "database/seeds","database/factories"
    ],"files": [
        "app/Helpers.php"
    ]
},

然后运行:

composer dump-autoload

之后,您可以在布局中使用{{setting()->email}},或者,如果在布局中使用$setting =setting();,则可以使用{{$setting->email}}

,

假设您的Manager已正确配置并有效启动。

您的file不会通过作曲家的自动加载功能被包括在内。但是您实际上不需要加载它。

@php

$setting = \App\Model\Setting::first();

@endphp

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。