Как передать данные из шаблона электронной почты обратно в контроллер с помощью компонента mail :: button? - PullRequest
0 голосов
/ 21 октября 2019

Мы пытаемся передать ID обратно контроллеру из шаблона электронной почты. так, как это работает, человек получит электронное письмо относительно приложения вместе с 2 кнопками, чтобы одобрить или отклонить заявку. мы хотим позволить человеку нажимать на любую из кнопок, которые будут отправлять данные обратно в контроллер, указывающие, какая кнопка была нажата. в этом случае идентификатор возвращается к контроллеру.

Это почтовый файл:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class SendEmailToCompany extends Mailable
{
    use Queueable, SerializesModels;
    public $content;
    public $attach;
    public $autoAttach;
    public $url;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($subject, $content, $autoAttachFile, array $files)
    {
        $this->subject = $subject;
        $this->content = $content;
        $this->attach = $files;
        $this->autoAttach = $autoAttachFile;
        $this->url = url('/companyApprove');
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {

        $files = $this->attach;
        $email = $this->markdown('email.emailToCompany');
        $email->attachFromStorage($this->autoAttach);

        foreach ($files as $file) {
            $email->attach($file['path'],
            [
                'as' => $file['name'],
                'mime' => $file['type'],
            ]); //attach each file
        }
        return $email;
    }
}

Шаблон электронной почты:

@component('mail::message')

# Support Letter

{{ $content }}

@component('mail::button', ['url'=> $url,  'color'=>'success'])
  Approved
@endcomponent

@endcomponent

DashboardController:

    public function companyApprove(Request $request)
    {
      $sID = request('studentID');
      dd($sID);

    }

web.php:

Route::post('/companyApprove', 'DashboardController@companyApprove');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...