【发布时间】:2013-05-10 01:13:06
【问题描述】:
是否可以用另一个模型扩展 laravel 4 eloquent 模型,假设我有一个扩展 eloquent 类的用户模型,另外还有第二个类,一个扩展用户类的管理员类?
如果我只是将管理员类链接到用户,我必须通过首先获取用户的管理员属性然后获取管理员属性来访问管理员属性。
编辑:
假设我的管理员没有扩展用户。我必须访问例如像这样的电话号码(管理员属性)
$user = User::find(1);
$phone = $user->administrator->phone;
但是通过让管理员扩展用户,我可以像这样直接访问电话号码
$user = Administrator::find(1);(请注意,用于查找管理员的 id 与我用于获取用户的 id 相同。通常我必须传递管理员数据库中条目的真实 id)
$phone = $user->phone;
同时可以访问用户类的属性,例如$phone = $user->email;
或者也许有更好的解决方案来实现这一点,或者这样使用它没有意义,如果是这样,请随时告诉我
【问题讨论】:
-
不确定你的意思,你能解释一下你想要达到的目标吗?
-
为什么你在真正尝试做你描述的事情之前问一个问题,然后根据结果采取行动?我对 Laravel 的 Eloquent 了解不多,但我知道你可以扩展一个类来扩展另一个类,这也是发明 OO 的原因之一。
-
因为我也想评估一下我的想法是否实用
-
@N.B.:模型的问题在于,虽然你可以做任何事情......并非所有事情都是好主意。在使用关系时,他会导致很多混乱。
-
@N.B.:这个人会引诱莫里茨养成一些非常坏的习惯,而他只有在尝试进行关联时才会注意到。换句话说,还差得很远。反复试验是一件好事,但有时,提出一个想法并看看它是否成功也是一件好事,并为他的所作所为表示敬意。