laravel在另一个表中的Eloquent模型中使用字段

时间:2016-04-25 04:59:59

标签: laravel laravel-5.2

我有一个名为“用户”的模型。我希望来自另一个表的Eloquent中的“密码”字段,并且当用户调用user :: all()方法时,来自不同表的所有选定字段都会出现在结果中。 我怎么能这样做?

结果不会显示在()。

2 个答案:

答案 0 :(得分:4)

我的问题在Eloquent模型中使用$ appends解决了。

我的代码:

class User extends Eloquent {
protected $table = 'user';
protected $attributes = ['password'];
protected $appends = ['password'];
public function getPasswordAttribute()
{
    return $this->getPAsswordMethod();  
}
}

答案 1 :(得分:3)

你的问题非常严重,无法解决问题,但我会给你一个董事会解决方案。

您可以通过您创建的Model对象与其他表建立关系。让我们假装你有一个属于用户的密码表。

用户模型:

public function password()
{
return $this->hasOne(Password::class, 'FK', 'PK');
}

您现在可以执行User :: with('password') - > get(['FieldName']);这将为您提供与用户具有上述关系的所有密码。