#mysql #laravel
#mysql #laravel
Вопрос:
У меня есть users
таблица и activity_log
table. В users
таблице id
значение хранится в виде уникальной строки. При сохранении любого значения в activity_log
таблице, causer_id
которое является внешним ключом к users.id
полю, сохраняется значение 0.
Я попытался изменить keytype causer_id
в modal.
protected $keyType = 'string';
public $incrementing = false;
Но я думаю, что это для первичного ключа, а не для внешнего ключа. Я также меняю тип causer_id
в activity_log
таблице на varchar, но он получит сохраненное значение 0.
Для хранения данных внутри activity_log
таблицы я использовал пакет laravel-activitylog
$activity = activity()
->causedBy(Auth::user())
->performedOn($user)
->withProperties($properties)
->log($changes);
Комментарии:
1. Я считаю, что внешний ключ должен быть того же типа, что и первичный ключ, с которым он связан.
2. ДА. Это то же самое, что и первичный ключ.