Если вы установили внешние ключи в своих файлах миграции, вы можете добавить условие ->onUpdate('CASCADE')
к имени пользователя Foreign в таблице recipes
миграции.
Примечание: внешнее ограничение onCascade будет работать и вне Laravel, поскольку оно опирается только на поддержку внешних ключей ядром базы данных.
В любом случае, будьте осторожны со своей проверкой, поскольку вы должны быть уверены, что новое выбранное имя пользователя еще не используется кем-либо еще.
Предполагая, что ваша модель пользователя подключена к таблице users
и имеет первичный ключ id
, убедитесь, что для столбца username установлено значение уникальное в базе данных, и ** проверить * пользовательский ввод соответственно.
Первое делается путем повторного редактирования вашей миграции.
Последнее решается путем изменения ваших правил следующим образом:
// Do not forget the Rule import at the top of your controller
use Illuminate\Validation\Rule;
// Then in your method
$this->validate(request(), [
'name' => 'required',
'username' => [
'required',
Rule::unique('users', 'username')->ignore($user)
]
]);
Примечание: если вы изменяете миграции, вы должны повторно запустить их, чтобы применить изменение.