【问题标题】:View not found Laravel查看未找到 Laravel
【发布时间】:2019-09-09 13:09:37
【问题描述】:

我想在我的电子邮件中添加一个视图。我已经在提供程序中设置了命名空间,但找不到它

我的地图结构是:

src-> Domain -> Quotation -> views-> BookedMail.php
src-> Domain -> Quotation -> QuotationController.php
src-> Providers

被调用的函数(来自报价目录中的控制器)

    Mail::send('Quotation::BookedMail', [], function ($message) use ($request) {
        $message->to($request['email'], '')->subject('Loslijst ' . date('d-m-Y'));
    });

命名空间的设置(在Providers目录中)

$this->loadViewsFrom('../Domain/Quotation/views','Quotation');

错误是View [BookedMail] not found

【问题讨论】:

  • loadViewsFrom 中删除开始的斜线。这将尝试从服务器根目录加载它。
  • @aynber 没有修复错误,但感谢您指出

标签: php laravel view


【解决方案1】:

您正尝试从服务器根目录加载视图,因为您的路径以 / 开头。

您可以改用 app_path 帮助器,方法是将其更改为:

$this->loadViewsFrom(app_path('Domain/Quotation/views'), 'Quotation');

但是,如果你想使用相对路径,你可以这样做:

$this->loadViewsFrom(__DIR__.'/../Domain/Quotation/views', 'Quotation');

注意:如果您想知道为什么您的blade directives 不起作用,您应该查看.blade.php 而不是.php

【讨论】:

  • 这是在主应用程序的子模块中(在供应商目录中)。 app_path 会从模块或主应用程序中选择主程序吗?
  • @Nick 是你正在开发的包吗?
【解决方案2】:

这看起来像是一个错字:您正在调用Quotation::BookedMail,您的视图文件名为BookedEmail

编辑:这是问题本身而不是项目中的错字,请忽略此答案

【讨论】:

  • 抱歉,我打错了。该文件名为 BookedMail
猜你喜欢
  • 2018-03-09
  • 2015-11-28
  • 1970-01-01
  • 2019-09-11
  • 2017-05-30
  • 2018-12-23
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多