【问题标题】:Laravel Mail cannot found viewLaravel 邮件找不到视图
【发布时间】:2022-11-29 21:04:49
【问题描述】:

这真是奇怪。我有一个 laravel 应用程序,我在其中使用模块库

https://github.com/nWidart/laravel-modules

我不知道它是否与问题有关,但只是想指出来。

基本上,我正在编写 phpunit 测试。第一个测试是调用端点。在这种情况下,控制器将调用一个存储库类(基本上是文件夹“Repositories”中的一个 php 类,没有比这更奇怪的了),它又调用

Mail::queue(new MyFirstMail($arg)); 

好吧,这行得通。我还可以在测试中进行检查以验证邮件是否已排队:

Mail::assertQueued(MyFirstMail::class, 1);  

相反,第二个测试是以这种方式调用工匠命令:

$this->artisan('a_command_job');

这将基本上在位于“Modules/Console/Commands/MyCommand.php”的类中运行方法“handle”

从该句柄方法内部,我将调用它:

Mail::queue(new MySecondMail($arg));

这个测试失败了。错误是

View [emails.second_email] not found    

MySecondMail.php 是一个扩展“BaseMail”的类。这与 MyFirstMail.php 相同。 它们看起来或多或少完全一样。当然,它们包括两种不同的观点。 MyFirstMail 在包含视图方面没有问题。而 MySecondMail 找不到视图。 我还尝试为 MySecondMail 传递相同的视图名称。但我仍然遇到同样的错误。

我怀疑这与第一个是由对端点的调用触发的事实有关。而第二个是由工匠命令调用的。但我真的不明白如何让 MySecondMail 选择正确的视图路径。我也尝试过“base_path”。但它没有用,我不确定这是正确的方法。

【问题讨论】:

  • 你能分享 MySecondMail 的代码吗?

标签: php laravel


【解决方案1】:

将此添加到 Mail 前面

例如

Mail::queue(new MyFirstMail($arg)); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2020-01-20
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多