Laravel Eloquent加入

时间:2014-03-13 10:15:12

标签: php orm laravel-4

我有一个经典的users表和另一个tokens表,它存储了不同用途的所有令牌[pass_reset,activation,etc']

当我获得有效令牌时,我想获取令牌并使用它加入用户数据。

我用Eloquent做了以下事情,但仍然有些事情不合适:

class User extends Eloquent {
    public function token() {
        return $this->hasMany('Token');
    }
}

class Token extends Eloquent {

    protected $primaryKey = 'user_id';
    var $timestamps = false;

    public function user() {
        return $this->belongsTo('User');
    }
}

现在,当我获得有效令牌时,我想提取用户详细信息:

$user = Token::whereRaw("token_type = ? AND token_value = ?",array('pass_reset',$input['token']))->user();

但这似乎不起作用,我认为Eloquent的想法仍然不适合我...

1 个答案:

答案 0 :(得分:0)

你可以试试这个。我假设$ input ['token']是一个有效值。

$user = Token::with('user')

->whereRaw("token_type = ? AND token_value = ?",

array('pass_reset', $input['token']))

->first()->user;