cakephp 3: bake добавляет нежелательное правило "$ rules-> isUnique (['email'])" - PullRequest
0 голосов
/ 29 августа 2018

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

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

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

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

1 Ответ

0 голосов
/ 02 сентября 2018

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

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

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

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

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

...