laravel 4如何在使用eloquent时将值存储到变量中?

时间:2015-02-05 16:48:29

标签: php laravel

我正在测试如何从数据库中检索信息。

例如,在以下代码中,我可以显示一个值:

public function home(){
        echo $user = User::find(1);
    }

这很好,但是当我尝试将列值存储到变量中时:

$username = User::find(1)->username; 
$name = User::find(1)->name;
echo $username; echo $name;

我收到错误: 未定义变量:名称

当我尝试测试电子邮件发送时,会出现错误,$ name似乎未定义。

Mail::send('emails.auth.test', array('name'=>$username),function($message){
    $message->to('pathros@someemail.net',$name)->subject('Test 4');
});

但是,如果不是在$ message->中输入$ name而不是(),我输入任何值',它确实有效。 那么如何将值存储在变量中?

1 个答案:

答案 0 :(得分:1)

由于范围可变,$name电话无法使用function()use关键字(即function($message) use($name))可让您将其传递给函数:

Mail::send('emails.auth.test', array('name'=>$username),function($message) use($name){
    $message->to('pathros@someemail.net',$name)->subject('Test 4');
});