Doctrine 1.2, автоматическое обрезание для полей в таблице

385
03 июня 2017, 15:46

Использую Doctrine 1.2 При изменении/добавлении записи получаю исключение

Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'shown_name' at row 1' in

код:

$newuser = new Users();
$newuser->email = "long_string...";
$newuser->pwd_hash = "long_string...";
$newuser->login = "long_string...";
$newuser->shown_name = "long_string...";
$newuser->save();

В моделях сгенерированных из дб верно указывается длинна поля (если применимо)

$this->hasColumn('shown_name', 'string', 128, array(
         'type' => 'string',
         'length' => 128, // <---- тут
         'fixed' => false,
         'unsigned' => false,
         'primary' => false,
         'default' => '',
         'notnull' => true,
         'autoincrement' => false,
         ));

Проблема: полей/таблиц много, длинна разная, проверять всё это вручную желания особо нет. + нужно ещё escape'ить.

Вопрос: как настроить Doctrine 1.2 чтобы контент обрезался до нужного размера в автоматическом режиме? Не зря же там указывается максимальный размер в столбике. В документации я не нашел ответа.

READ ALSO
Лишняя строка при обращении к БД

Лишняя строка при обращении к БД

Всем доброго времениСуть вопроса такова : есть 2 таблицы - первая: Куплено и вторая: Продано

349
Помогит разобратся с синтаксисом RedBeanPhp

Помогит разобратся с синтаксисом RedBeanPhp

Вот то как я сделал запрос,но он не верный $posts = R::findAll('news' , 'name LIKE ?', %array($data['seach'])%); Помогите понять где ставить знаки процентов

286
проверка версии pdo и методы

проверка версии pdo и методы

Доброго времени суток! Новичок в PDO, да и с php шапочное знакомствоПытаюсь положить значения в базу данных

290
update значений в БД через pdo

update значений в БД через pdo

Привет! Есть такая таблица:

318