Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法,我只能运行一个单一的条件将发送邮件?_Php_Laravel_Email - Fatal编程技术网

Php 有没有办法,我只能运行一个单一的条件将发送邮件?

Php 有没有办法,我只能运行一个单一的条件将发送邮件?,php,laravel,email,Php,Laravel,Email,这是我的代码: if( $form->user_mail_address && $form->model()->user_mail_address == $form->user_mail_address && $form->user_nickname && $form->model()->user_nickname == $form->user_nickname &a

这是我的代码:

if( 
        $form->user_mail_address && $form->model()->user_mail_address == $form->user_mail_address &&
        $form->user_nickname && $form->model()->user_nickname == $form->user_nickname &&
        $form->user_sex && $form->model()->user_sex == $form->user_sex &&
        $form->user_area && $form->model()->user_area == $form->user_area &&
        $form->user_generation && $form->model()->user_generation == $form->user_generation && 
        $form->status == Post::STATUS_APPROVED) {
            Mail::send(new DepositMail($form->model()->id, $form->model()->user_mail_address));
            Mail::send(new DepositMail($form->model()->id));}

在这里,我试图当管理员只改变状态时,将发送一封邮件给用户电子邮件。但我觉得太长了。当只有管理员更改用户状态时,是否有其他方法不需要使用长方法来发送邮件?多谢各位

您可以使用userId作为标识符,这也使您的代码干净易懂

if ($form->status == Post::STATUS_APPROVED && $form->userId == $selectedUserId){
 //send mail
}

谢谢你的评论。我曾经尝试过这种方法,当我改变性别或其他将触发发送邮件使用时,它仍然会结束。那么,我如何才能破例,只在管理员更改用户状态时发送邮件?@edu1688你也可以发布你的刀片吗?@Poldo我的刀片有点难以显示,因为它是用其他语言,而不是英语。我该如何处理刀片文件。因为我认为邮件发送问题是控制器中的邮件。@EDU1688我建议您重置表单或至少将一些字段设置为其初始值。当用户应用表单时,我已将其设置为0,这意味着正在等待批准。当状态批准时,它将为10,拒绝将为-10。