这是我当前的代码:
class Project extends Model {
protected $appends = ['user_email'];
public function user() {
return $this->belongsTo('User');
}
public function getUserEmailAttribute() {
return $this->user->email ?? 'N/A';
}
}
$project = Project::find($id);
\\ Now $project has $project->user_email
我想使用with
:
class Project extends Model {
protected $with = ['user:email'];
public function user() {
return $this->belongsTo('User');
}
}
$project = Project::find($id);
\\ Now $project has $project->user->email
但是,我希望能够像第一个示例一样简单地访问基本模型上的email
属性。有什么方法可以将相关模型的属性附加到源模型?基本上-我想消除对getUserEmailAttribute
函数的需要,并且我希望相关模型的key属性位于主要查询的模型上。