Laravel mailable将阵列传递给刀片

时间:2017-12-10 09:26:59

标签: laravel

在我的项目中,我制作了一份联系表格。它是数据库的商店详细信息并显示管理面板并通过邮件发送给我,因此我无法将数组变量传递给mailable视图。

我的控制器;

$iletisim = new Contact();
$iletisim->ad = $request->input('ad');
$iletisim->soyad =$request->input('soyad');
$iletisim->email = $request->input('email');
$iletisim->mesaj = $request->input('mesaj');
$iletisim->save();
$gonder = array( 'gonderen'=>$request->input('ad'),
    'email'=>$request->input('email'),
    'mesaj'=>$request->input('mesaj')
);

Mail::send(new ContactMail($gonder));

Session::flash('success', 'Mesajınız Gönderilmiştir. En kısa sürede dönüş sağlanacaktır.');
return back();

}

My Contact.php

public $bilgiler;

    public function __construct($gonder)
    {
        $this->bilgiler = $gonder;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('homepage.emails.contact')->with(['bilgiler'=>$this->bilgiler]);
    }

和我的刀片文件

@component('mail::message')
# New Contact Form

{{$bilgiler->ad}}


Thanks,<br>
{{ config('app.name') }}
@endcomponent

我的错误在哪里可以提供帮助。 感谢

1 个答案:

答案 0 :(得分:1)

首先,您不需要添加->with(['bilgiler'=>$this->bilgiler]);,因为$bilgiger是公共财产。 All public properties of Mailable are available in Blade

此外,由于它是一个数组,您需要使用以下命令访问它:

$bilgiger['gonderen']

$bilgiler->gonderen语法用于对象,而不是数组。此外,您在阵列中没有id

最后一件事是您使用降价电子邮件,因此请使用markdown()方法:

return $this->markdown('homepage.emails.contact');