如何更改默认的 Laravel Eloquent table-id-name

How to change the default Laravel Eloquent table-id-name

当我像这样创建一个 Laravel 工厂时:

factory(App\User::class, 10)->create()->each(function ($user) {

    $user->useroptions()->save(factory(App\UserOption::class)->make(['user_id' => $user->id]));

});

、Laravel 将需要 user_id 作为用户选项的一部分-table,因为原点 table 是 user 并且所需的值是 id - ùser_id`。

现在,当我想使用 uid 而不是 user_id 时,我应该怎么做?

您可以像这样设置关系使用的外键

public function useroptions() {
    return $this->hasMany('App\UserOption', 'uid');
}