我有一个名为“用户”的模型。我希望来自另一个表的Eloquent中的“密码”字段,并且当用户调用user :: all()方法时,来自不同表的所有选定字段都会出现在结果中。 我怎么能这样做?
结果不会显示在()。
中答案 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']);这将为您提供与用户具有上述关系的所有密码。