【发布时间】:2013-08-12 11:04:04
【问题描述】:
Eloquent 中可以有动态关系吗?
我想做以下事情:
$order = Order::with('commentaar', 'commentaar.auteur')->get();
在我的Commentaar 模型中,我有这个:
class OrderbonCommentaar extends Eloquent{
public function auteur()
{
if ($this->attributes['fkauteur'] == 'personeel') {
return $this->belongsTo('Personeel', 'id_auteur');
} else {
return $this->belongsTo('ContactPersoon', 'id_auteur');
}
}
}
因此,如果fkauteur 列等于“personeel”,它应该加载Personeel 模型,否则它应该加载Contactpersoon 模型。
我提供的代码的问题是当我调用关系时属性没有被填充。
【问题讨论】:
-
这是不可能的,因为当
auteur()被调用时,没有加载任何属性。