cakephp 3: bake добавляет нежелательное правило "$rules->isUnique(['email'])"

Я готовлю таблицу, в которой сохраняются все попытки входа в систему от моих клиентов, и по какой-то причине команда bake добавляет это правило.

$rules->isUnique(['email'])

Это нежелательно, потому что я хочу сохранить все данные, отправленные при каждой попытке входа в систему.

Мне потребовалось некоторое время, чтобы выяснить причину ошибки, когда я пытался сохранить много записей с одним и тем же адресом электронной почты. в моей базе данных это поле не было помечено как уникальное, но Bake решил применить это правило. Вопрос заключается в том, является ли это ошибкой или существует продуманный способ избежать этого нежелательного поведения.

1 ответ

Это конкурс поведения добавления $rules->isUnique() для полей, которые имеют имя email это "особенность". (Но это очень раздражает, когда вы не хотите, чтобы электронное письмо было уникальным.)

Поздравляем с решением вашей проблемы!

Лучшее решение - закомментировать строку кода в XXXsTable.php файл - или если вы точно уверены, что он вам никогда не понадобится, просто удалите строку.

Изменение названия поля на что-то отличное от email Вероятно, это не очень хорошая идея, поскольку, вероятно, была веская причина, по которой вы выбрали это имя.

Имейте в виду, что все файлы, созданные bake являются лишь отправной точкой, и вам, вероятно, придется немного их отредактировать для реализации своего приложения.

Другие вопросы по тегам