Laravel 从两个表中获取数据

Laravel getting data from two tables

我有 用户 table:

我也有一个tableuser_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;

我的解决方案有点吓人。

  1. 创建一个迁移文件,以便您可以向用户添加一列table。

  2. 在迁移文件中创建一个名为 'user_status_description'

    的列
  3. 将user_statustableuser_status_description中的所有数据复制给用户

table user_status_description column.By 使用 user_id.

4.Drop用户状态table.

然后你可以很容易地做 Auth::user()->user_status_description