Что Laravel изменить первичный ключ по умолчанию из таблицы users
Я пытаюсь изменить первичный ключ по умолчанию из id of users таблицы userId, но механизм аутентификации Laravel всегда проверяет id с users таблица. Пример:
Users:: check () и Users:: attempt()
эти функции всегда проверяют на на users таблица, Как изменить это поведение Laravel.
3 ответов
чтобы переопределить первичный ключ, используемый для поиска, необходимо определить свойство primaryKey в модели пользователя.
protected $primaryKey = 'userId';
можно использовать
protected $primaryKey = 'Your_Primary_key';
в модели.
вероятно, стоит указать, что если определяемый вами primaryKey не является целочисленным ключом, вам также нужно добавить следующее:
public $incrementing = false;
в противном случае ключ будет приведен к int
Eloquent предполагает, что внешний ключ должен иметь значение, соответствующее
id(или custom$primaryKey)
так, в своем User модель использовать
protected $primaryKey = 'userId';