Я работаю с несколько сложной структурой базы данных, которую пока не могу обновить для своего клиента. Моя проблема заключается в следующем:
- В пользовательской таблице есть столбец id и pilot_id. Столбец pilot_id использует структуру ABC1234. Это то, что в настоящее время используется как внешний ключ для связи с другими таблицами.
- Я обновил модель Laravel User.php, добавив в нее следующее:
protected $primaryKey = 'pilot_id';
protected $keyType = 'string';
public $incrementing = false;
Я добавил вышеупомянутое после возникновения проблем с использованием Laravel Nova. При добавлении, скажем, «сообщения», принадлежащего пользователю, Nova, естественно, вставляла идентификатор записи базы данных пользователей в поле отношений «pilot_id», которое, конечно, ни с чем не совпадало. Приведенный выше код исправил эту проблему.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда по какой-либо причине с записью Nova выполняется какое-либо действие, Nova не захватывает идентифицированных пользователей id / pilot_id и не сохраняет его в сравнении с действием в таблице action_events, тогда как ранее это делалось до внесение вышеуказанных изменений кода.
Прикрепленное изображение таблицы action_events, показывающее user_id как 0
Снимок экрана панели действий Laravel Nova с именем пользователя Nova вместо имени пользователя
Я заметил, что то же самое относится и к таблице базы данных сеансов Laravel. Я не могу использовать сеансы с пользовательским первичным ключом? Использует ли Nova сеансы для записи действий?
Любой совет приветствуется.