Laravel 从两个表中获取数据
Laravel getting data from two tables
我有 用户 table:
- ID
- 用户名
- user_status <- 可以是 0 或 1,具体取决于用户是否处于活动状态。
我也有一个tableuser_status:
- user_status_id
- user_status_描述
如何优雅地从 user_status_description 获取数据?
我可以通过 {{Auth::user()->user_status}}
或通过 UsersController ($user_status = auth()->user()->user_status;
) 获得 user_status,但我可以掌握如何加入另一个 table,所以我可以做类似的事情Auth::user()->user_status_description
或类似的东西。
可以通过Belongsto
关系实现。
在 User eloquent
中放置以下关系
public function statusDescription() {
return $this->belongsTo('App\UserStatus', 'user_status', 'user_status_id');
}
获取用户 user_status_description
作为波纹管。
Auth::user()->statusDescription->user_status_description;
我的解决方案有点吓人。
创建一个迁移文件,以便您可以向用户添加一列table。
在迁移文件中创建一个名为 'user_status_description'
的列
将user_statustableuser_status_description中的所有数据复制给用户
table user_status_description column.By 使用 user_id.
4.Drop用户状态table.
然后你可以很容易地做 Auth::user()->user_status_description
我有 用户 table:
- ID
- 用户名
- user_status <- 可以是 0 或 1,具体取决于用户是否处于活动状态。
我也有一个tableuser_status:
- user_status_id
- user_status_描述
如何优雅地从 user_status_description 获取数据?
我可以通过 {{Auth::user()->user_status}}
或通过 UsersController ($user_status = auth()->user()->user_status;
) 获得 user_status,但我可以掌握如何加入另一个 table,所以我可以做类似的事情Auth::user()->user_status_description
或类似的东西。
可以通过Belongsto
关系实现。
在 User eloquent
public function statusDescription() {
return $this->belongsTo('App\UserStatus', 'user_status', 'user_status_id');
}
获取用户 user_status_description
作为波纹管。
Auth::user()->statusDescription->user_status_description;
我的解决方案有点吓人。
创建一个迁移文件,以便您可以向用户添加一列table。
在迁移文件中创建一个名为 'user_status_description'
的列将user_statustableuser_status_description中的所有数据复制给用户
table user_status_description column.By 使用 user_id.
4.Drop用户状态table.
然后你可以很容易地做 Auth::user()->user_status_description