Есть ли способ, которым я могу запустить только одно условие, будет отправлять почту? - PullRequest
0 голосов
/ 03 марта 2020

Это мой код:

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));}

Как и здесь, я пытаюсь, когда администратор только изменить статус отправит письмо на электронную почту пользователя. Но я думаю, что это слишком долго. Будет ли у него другой метод, которому не нужно будет использовать этот длинный метод для отправки почты, когда только администратор изменит статус пользователя? Спасибо.

1 Ответ

1 голос
/ 03 марта 2020

Вы можете использовать userId в качестве идентификатора, это также делает ваш код чистым и легким для понимания.

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