类ModelA
与belongsTo
之间具有关系ModelB
。有什么方法可以从ModelA
访问该属性?像这样:
$this->model_b->model_b_attribute;
还有,有一种方法可以将模型链接到属性?如果我从belongsTo
到ModelB
有ModelC
关系,我可以这样做:
$this->model_b->model_b_attribute->model_c;
编辑:
我的代码:
ModelA
将是:
class LeaseTenant extends Model {
protected $appends = ['is_deposit_paid'];
public function lease_request()
{
return $this->belongsTo('App\Models\LeaseRequest');
}
public function getIsDepositPaidAttribute()
{
return $this->email == $this->lease_request->security_deposit_entry->bank_account->user->email;
}
}
还有ModelB
:
class LeaseRequest extends Model {
protected $appends = ['security_deposit_entry'];
public function getSecurityDepositEntryAttribute()
{
return Rent
::where('property_id', $this->property_id)
->where('lease_request_id', $this->id)
->where('type', 'security_deposit')
->orderBy('created_at', 'asc')->first();
}
}
我想从Rent
访问LeaseTenant
表。
答案 0 :(得分:1)
如果您在sizeEnd
和belongsTo
之间有ModelA
关系:
ModelB
然后,您还可以访问该关系以获得# ModelA.php
public function modelB()
{
return $this->belongsTo(ModelA::class);
}
实例,从中可以访问ModelA
属性。
ModelA
此外,如果您在ModelB中还具有另一个RelationshipTo关系,则可以执行以下操作:
$modelA = ModelA::find(1);
$name = $modelA->modelB->name;
// ^^^^^^ modelB attribute