php - 如何在 Laravel 的邮件中添加接受/拒绝按钮

标签 php mysql laravel email acceptbutton

我正在做一个项目。在这个项目中,我希望提供者能够接受或拒绝从邮件中给他序列号的某人的序列号。但我被困在这个。我做不到。请帮我解决这个问题。 我的邮件功能是

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #57697e;">
   Hello <strong>'.$provider_first_name.' '.$provider_last_name.'</strong>, <strong>'.$seeker_first_name.' '.$seeker_last_name.'</strong> wants to meet you  on <strong>'.$booking_date.' at '.$booking_start_time.'-'.$booking_end_time.' </strong> by '.$booking_type.'. Please let us know
   whether you will be available on the time specified. 
   You can accept or reject appointments: <a href="'. url('booking/accept/') .'/'.$provider.'">Accept</a>
   Follow us on <a href="http://syncopp.devteam.website/">Sync Opp</a> for booking confirmation.
   <br/>
   Thank you for staying with us!
</span>

我的 Controller 是

public function accept($id)
    {
        if (Auth::check()) {
            $booking = Booking::find($id);
            if (!empty($booking)) {
                $to = User::find($booking->seeker_id)->email;
                $seeker_first_name = UserDetail::where('user_id', $booking->seeker_id)->first()->first_name;
                $seeker_last_name = UserDetail::where('user_id', $booking->seeker_id)->first()->last_name;
                $provider_first_name = UserDetail::where('user_id', $booking->provider_id)->first()->first_name;
                $provider_last_name = UserDetail::where('user_id', $booking->provider_id)->first()->last_name;

                $type = Meeting::where('id', $booking->meeting_type)->first()->name;

                $link = 'http://devteam.website/esp+hadfkku+hhj2hjh2+q+web+video+calling/index.php?r=videochat/logout';

                $token = $booking->token;

                $subject = 'Syncopp : Meeting Confirmation!';
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                $mail = new Mail();
                $body = $mail->accept_booking($seeker_first_name, $seeker_last_name, $provider_first_name, $provider_last_name, $type, $link,$token);
                mail($to, $subject, $body, $headers);

                $to_p = Auth::user()->email;
                mail($to_p, $subject, $body, $headers);

                $booking->is_accepted = 1;
                $booking->notification = 0;

                // Change payment status, just like booking status.
                if($booking->save()){
                    $payment = Payment::where('booking_id', $id)->first();
                    if(!empty($payment)){
                        $payment->is_accepted = 1;
                        $payment->save();
                    }
                }

            } else {

            }
        } else {

        }
    }

最佳答案

这在我改变我的 Controller 后完美地工作

public function accept($id)
    {
        if (!empty($id)) {
            $booking = Booking::find($id);
            if (!empty($booking)) {
                $to = User::find($booking->seeker_id)->email;
                $seeker_first_name = UserDetail::where('user_id', $booking->seeker_id)->first()->first_name;
                $seeker_last_name = UserDetail::where('user_id', $booking->seeker_id)->first()->last_name;
                $provider_first_name = UserDetail::where('user_id', $booking->provider_id)->first()->first_name;
                $provider_last_name = UserDetail::where('user_id', $booking->provider_id)->first()->last_name;

                $type = Meeting::where('id', $booking->meeting_type)->first()->name;

                $link = 'http://devteam.website/esp+hadfkku+hhj2hjh2+q+web+video+calling/index.php?r=videochat/logout';

                $token = $booking->token;

                $subject = 'Syncopp : Meeting Confirmation!';
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                $mail = new Mail();
                $body = $mail->accept_booking($seeker_first_name, $seeker_last_name, $provider_first_name, $provider_last_name, $type, $link, $token);
                mail($to, $subject, $body, $headers);

                $to_p = User::find($booking->provider_id)->email;;
                mail($to_p, $subject, $body, $headers);

                $booking->is_accepted = 1;
                $booking->notification = 0;

                // Change payment status, just like booking status.
                if ($booking->save()) {
                    $payment = Payment::where('booking_id', $id)->first();
                    if (!empty($payment)) {
                        $payment->is_accepted = 1;
                        $payment->save();
                    }
                }

                echo "<script type='text/javascript'>window.close();</script>";
            } else {
                echo "<script type='text/javascript'>alert('Seeker not found.');window.close();</script>";
            }
        }else{
            echo "<script type='text/javascript'>alert('Seeker not found.');window.close();</script>";
        }

    }

关于php - 如何在 Laravel 的邮件中添加接受/拒绝按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066711/

相关文章:

php - 使用 PHP 将图像放在另一个图像中

php - MYSQL/PHP授权脚本

ubuntu - 抓取为 Google 'Unreachable' 错误

javascript - Laravel - 验证错误

php - 在 1 个查询中对 Sum & Count 列求和或使用 PHP?

php - 使用自定义短信替换 WooCommerce 购物车运输部分

mysql - 更换mysql数据库上的约束,总是失败

mysql - 使用查询获取字段值并将特定字符转换为大写

javascript - 如何使用 Post 发送数据库将动态添加的表行表单值传递给 Javascript

php - jquery 序列化方法的多种形式不起作用