• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie wiadomości powitalnej w laravelu

VPS Starter Arubacloud
0 głosów
477 wizyt
pytanie zadane 25 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)

Witam, jak w Laravelu wysłać wiadomość powitalną, taką tuż po rejestracji użytkownika?

Robię coś takiego:

   Mail::send('emails.welcome', $data, function ($message) use ($data){
           $message -> from('moj.mail@gmail.com');
           $message -> to($data['email']);
           $message -> subject('Potwierdzenie rejestracji w serwisie' . " - " . $data['name'] . " " . $data['last_name']);
        });

ten kod daję w RegisterController czyli tak to w całości wygląda

protected function create(array $data)
    {
        return User::create([
           //
        ]);
        Mail::send('emails.welcome', $data, function ($message) use ($data){
           $message -> from('moj.mail@gmail.com');
           $message -> to($data['email']);
           $message -> subject('Potwierdzenie rejestracji w sklepie' . " - " . $data['name'] . " " . $data['last_name']);
        });
    }

 

1 odpowiedź

+1 głos
odpowiedź 25 lutego 2018 przez Ivan Maniak (60,650 p.)
wybrane 25 lutego 2018 przez mi-20
 
Najlepsza

Wszystko co jest po return nie będzie wykonywane, ponieważ funkcja się "kończy", gdy coś zwraca.

komentarz 25 lutego 2018 przez mi-20 Stary wyjadacz (13,190 p.)
Dzięki :)
komentarz 25 lutego 2018 przez mi-20 Stary wyjadacz (13,190 p.)

jeszcze jedno, powiedzmy że mój kod wygląda teraz tak

protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'last_name' => $data['last_name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'key_activate' => substr(md5(rand(100,999).date('H:i:s').time()), 14,14),
            'status_activate' => 0,
            Mail::send('emails.welcome', $data, function ($message) use ($data){
                $message -> from('moj.mail@gmail.com');
                $message -> to($data['email']);
                $message -> subject('Potwierdzenie rejestracji' . " - " . $data['name'] . " " . $data['last_name']);
            })
        ]);
    }

i chciałbym do widoku e-mail czyli do emails.welcome przekazać kod aktywacyjny czyli

key_activate

jak można to zrobić?

komentarz 26 lutego 2018 przez wojtekson16 Bywalec (2,640 p.)
edycja 26 lutego 2018 przez wojtekson16

Model::create zwraca Ci obiekt czyli w twoim przypadku User::create zwróci Ci użytkownika. Zamiast operowania na arrayce cały czas, przekaż do widoku obiekt użytkownika. 

Mail::send('emais.welcome', ['user' => $user], ...)

Potem w widoku 

{{ $user->key_activate }}

 

komentarz 26 lutego 2018 przez mi-20 Stary wyjadacz (13,190 p.)

dostaję 

Undefined variable: user

 

komentarz 2 marca 2018 przez mi-20 Stary wyjadacz (13,190 p.)
Podpowie ktoś jak to naprawić? :D
komentarz 5 marca 2018 przez Filius Gaduła (4,120 p.)
pewnie nie przekazałeś zmiennej user do widoku
komentarz 6 marca 2018 przez mi-20 Stary wyjadacz (13,190 p.)
A możesz mi powiedzieć jak ją przekazać do widoku w tym przypadku? Bo nie mam pojęcia
komentarz 10 marca 2018 przez Filius Gaduła (4,120 p.)

najlepiej utworzyć nowego maila przez 

php artisan make:mail OrderPlaced

potem w OrderPlaced

 

class OrderPlaced extends Mailable
{
    use Queueable, SerializesModels;

  
    public $user;

    public function __construct(User $user)
    {
        $this->user= $user;
    }


    public function build()
    {
        return $this->view('emails.orders.placed');
    }
}

zmienne publiczne będą dostępne w widoku automatycznie

Podobne pytania

0 głosów
2 odpowiedzi 135 wizyt
pytanie zadane 21 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 516 wizyt
pytanie zadane 18 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 772 wizyt

92,979 zapytań

141,941 odpowiedzi

321,185 komentarzy

62,305 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...