laravel从模型中检索配置文件firstname返回类Illuminate \ Database \ Eloquent \ Builder的对象无法转换为字符串

时间:2015-07-23 21:18:16

标签: php laravel model eloquent

您好我正在将karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\) 传递给我的用户模型并将其连接到配置文件表以检索用户的第一个名称,如下所示:

user_id

用法:

public function scopefirstnameByUserId($id) { return static::where('users.id','=',$id)->join('profiles', function ($join,$id) { $join->where('profiles.user_id', '=', $id); })->pluck('firstname'); }

但是我收到以下错误:

User::firstnameByUserId(2);

修改#

该功能现已更新为:

Missing argument 2 for User::{closure}()

但现在抛出此错误:

public function scopefirstnameByUserId($id) { return static::where('users.id','=',$id)->join('profiles',function ($join) use ($id) { $join->where('profiles.user_id', '=', $id); })->pluck('firstname'); }

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

在您的代码中:

function ($join,$id) {

}

应该是:

function ($join) use ($id) {
    $join->where('profiles.user_id', '=', $id);
}