首页 > 解决方案 > 添加 IF 语句时 Laravel 出错

问题描述

我最近从在我之前的开发人员那里继承了一些网站,但我无法在他的代码中添加一个简单的 IF 语句。

该页面只是说“发生了错误”,并且没有任何内容写入日志文件夹。

这是代码:

protected function sendContactEmail($data)
{
    $enquiry = $data['enquiry'];
    $email = $data['email'];
    $name = $data['name'];

    if($enquiry=='General Enquiry'){
        $to = '********';
        $cc = '********';
    }
    else if($enquiry=='Product Feedback'){
        $to = '********';
        $cc = '********';
    }
    else { //Trade Enquiry
        $to = '********';
    } 

    //email to admin
    Mail::send('contact.email.contact-admin', $data, function ($message) use ($enquiry) {
        $message->from('no-reply@********.com.au', '********');
        $message->replyTo('no-reply@********.com.au', '********');
        $message->subject($enquiry);
        $message->to($to);
        $message->cc($cc);
    });

    //email to user
    Mail::send('contact.email.contact-user', $data, function ($message2) use ($email) {
        $message2->from('no-reply@********.com.au', '********');
        $message2->replyTo('no-reply@********.com.au', '********');
        $message2->subject('********');
        $message2->to($email);
    });
}

有人对从哪里开始有任何想法吗?

标签: phplaravel

解决方案


$to和变量都不$cc是从传入的闭包的父范围继承的Mail::send

这两个变量都必须在使用语言结构中指定。1

Mail::send('contact.email.contact-admin', $data, function ($message) use ($enquiry, $to, $cc) {
    $message->from('no-reply@********.com.au', '********');
    $message->replyTo('no-reply@********.com.au', '********');
    $message->subject($enquiry);
    $message->to($to);
    $message->cc($cc);
});

推荐阅读