在我的项目中,我制作了一份联系表格。它是数据库的商店详细信息并显示管理面板并通过邮件发送给我,因此我无法将数组变量传递给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
我的错误在哪里可以提供帮助。 感谢
答案 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');