【发布时间】:2019-06-02 17:44:39
【问题描述】:
我有 2 个表:users 和 users_details
-- 用户有 3 列 [id,username,password]
-- users_details 有 [id,user_id,name,address]
我为他们每个人都有模型,其中包含从用户到 users_details 的关系。
public function details()
{
return $this->hasOne(UserDetails::class, 'user_id', 'id');
}
我的问题来了:有没有办法以用户身份访问 UsersDetails 属性。
例如:{{ $user->name }} : {{ $user->address }} 而不是 {{ $user->details->name }} : {{ $user->details->address }}
请注意,这些表格只是示例,并没有其实际的列范围。我需要这个来实现 Laravel/Cashier,但是这个插件需要 [users] 表中的 4 个新列,我想把它们放在 [users_details] 表中。
我没有尝试过任何事情,因为我真的不知道这是否可行。除了我知道的唯一解决方法是在用户中创建 getNameAttribute 方法:
public function getNameAttribute()
{
return $this->details->name;
}
【问题讨论】:
-
@bhoomi-patel 感谢您的编辑 :)
标签: php laravel model eloquent relationship