我有 2 张桌子:
User | Doctor
---------- | ----------
id | id
email | user_id
name | signature
last_name | photo
password | description
date_birth |
Every Doctor
与一个有关User
,但每一个User
可能与某个无关Doctor
。我这样做是因为我不想使用单表继承并最终得到一堆NULL
fields.
有没有办法制作类似这样的东西?
// Instead of
$doctor = Doctor::with('User')->find(1);
$doctor->user->name;
// This
$doctor = Doctor::find(1);
$doctor->name;
P.S:不知道标题中应该写什么,我应该写什么才能与问题更相关?
您可以使用以下命令指定默认的预加载关系$with
模型上的属性。
class Doctor extends Eloquent {
protected $with = ['user'];
// ...
}
(该属性可能需要公开,我忘了。如果这样做,Laravel 会对你大喊大叫。)
您仍然需要使用$doctor->user->name
,但关系将自动加载,无需您显式调用它。如果你really想要使用$doctor->name
语法,你可以创建配件 http://laravel.com/docs/eloquent#accessors-and-mutators对于这些列名称,然后将获取并传递适当的用户关系列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)