В чем смысл некоторых аннотаций в Doctrine?

259
25 января 2018, 20:12

Работаю над своим небольшим проектом, использую Laravel и Doctrine как основную ORM. Doctrine была выбрана только с целью получить опыт работы с ней. Для миграций, принял решение использовать встроенные в laravel средства.

Собственно вопрос: когда определяешь Entity, обязательно ли указывать опции в аннотациях, которые были заданы в миграциях(тип, длины строки, nullable ...)?
Как я понял: эти опции используются только при генерации таблиц. Или все же, doctrine как-то контролирует целостность в runtim'e?

Answer 1

Она контроллирует, допустим у вас есть модель User с полем $name, ассертами указано, что оно не должно быть пустым и представляет собой строку. Теперь при попытке записать туда пустую строку или запихнуть массив, вы получите Doctrine\DBAL\Exception, которое можно перехватить и выдать красивую ошибку о неверных данных

READ ALSO
По форуму phpbb

По форуму phpbb

После регистрации на форуме phpbb пишет ошибку:

202
Авторизация с выбором 4-х пар параметров

Авторизация с выбором 4-х пар параметров

Страница авторизации(входа в личный кабинет)

155
Rand() php случайно число из предложенных для ModX

Rand() php случайно число из предложенных для ModX

Добрый деньИмеется 3 числа, например (20, 125, 25) Нужно запустить рандом, чтобы выпадало одно из этих чисел

182