未定义的变量:在视图中邀请

时间:2017-10-31 06:16:56

标签: php laravel

我正在基于OneTime Url邀请我的用户。我在InviteUser.php中将我的构造函数声明为public。

触发发送邀请后,电子邮件无法发送,并返回错误"Undefined variable: invite in my view。但是,就我已经将我的构造函数声明为public,我希望视图可以声明invite

无论如何,我错过了什么?

InviteUser.php

public function __construct(Invite $invite)
    {
        $this->invite = $invite;
    }


    public function build()
    {
        return $this->from('hello@gexample.com')->view('emails.invite');   
    }

invite.blade.php

<p>Hi,</p>

<p>Someone has invited you to access their account.</p>

<a href="{{ route('accept', $invite->token) }}">Click here</a> to activate!

3 个答案:

答案 0 :(得分:0)

如果您想将值传递到视图文件中,则必须在加载视图时通过控制器, 就像这样

$banners = Banner::get();
return View('admin.banner.index', compact('banners'))

答案 1 :(得分:0)

您应该将$邀请发送到视图:

public function __construct(Invite $invite)
{
    $this->invite = $invite;
}


public function build()
{
    return $this->from('hello@gexample.com')->view('emails.invite', ['invite' => $this->invite]);   
}

答案 2 :(得分:0)

我认为您需要在视图中传递变量才能访问视图中的变量。所以代码应如下所示:

public function build()
{
    $data = array(
         "invite" => $this->invite
    );
    return $this->from('hello@gexample.com')->view('emails.invite', $data);   
}