Maks
прочто он еще не определился
Maks
я один раз примерно такую штуку видел
Юра
.exe
Dmytro
Поле не json array случайно?
* @ORM\Column(name="title", type="string", length=255)
тут дело в кирилице. латиница и цыфры остаються как есть
Maks
Dmitry
Dmytro
-metaTitle: "Обкладинки для документів,картхолдери та ключники за низькими цінами в Україні | Інтернет-магазин канцтоварів"
Dmytro
в сущности все окей.
Dmytro
но после flush
Dmytro
пишет еррор
Dmytro
An exception occurred while executing 'UPDATE products SET is_deleted = ?, price_group_id = ?, meta_keywords = ?, availability = ? WHERE id = ?' with params [0, "7a20dd72-68ba-11e8-8117-000c29b4fe9d", "\u041a\u0443\u043f\u0438\u0442\u0438 \u041e\u0431\u043a\u043b\u0430\u0434\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043a\u043e\u0440\u0434\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u0430 Pasport, \u0448\u043a\u0456\u0440\u0430 \u043f\u0440\u0435\u0441\u0442\u0438\u0436, \u041e\u0431\u043a\u043b\u0430\u0434\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043a\u043e\u0440\u0434\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u0430 Pasport", 0, "48d00543-a7f7-11e5-9f2c-00e0817698dd"]:\n
\n
SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'meta_keywords' at row 1
Maks
ошибка про длинну а не про кодировку
Dmytro
понятно что можно сделать поле больше. но хочеться уменьшить цену символа.
на чистом sql все работает корректно все настройки на utf8 utf8_general_ci
Dmytro
ладно. закрыто. увеличу размер поля в базе и оставлю так
Maks
Dmytro
да конечно
Maks
а с формы данные идут как надо?
Dmytro
да. все верно. ошибка тут в доктрине видимо.
оно должно обрезать данные под ограничение. с латиницей так и происходит. а тут оно ошибку выдает вместо того тчо бы обрезать просто
Юра
Ошибку генерит сама БД
Юра
SQLSTATE[22001]
Юра
эот не доктрина
Юра
доктрина ничего не образеает
Alexander
Хэх, на симфони надейся, но и сам не тупи так сказать))
Но вопрос сам по себе интересный
Dmitry
Юра
настройки БД могут отличаться, какая-то может обрезать данные тихо, другая будет ошибку выдавать
Юра
вообще это нормально когад БД не дает сохранить данные которые не влазят в размер колонки
Юра
значит что-то пошло не так
Dmitry
с латиницей так и происходит
кириллица длиннее в утф
Юра
да надо разбираться почему кириллца закодирована в utf codepoint
Юра
Обычно так кодирует json_encode бещ указаная флага не кодировать
Юра
Maxim Kainov
Maks
@maxyc в который раз подключаешься?
Гречушников
ну я чтобы не отвлекаться
Maks
хитрый жук
Гречушников
Доброго времени всем.
прошу подсказать где моя ошибка в many to many связях
https://paste.laravel.io/2c93d006-9c81-422d-8fe2-b696592fe97e
пользуюсь https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html
1. в документации написано, что ArrayCollection, хотя по факту возвращает мне Doctrine\ORM\PersistentCollection.
2. хотя если к этой коллекции применить ->getIterator() то нужные мне категории выводятся. я как то ожидал , что getCategories уже возвращать должны мне ArrayCollection со списком категорий.
подскажите что я делаю не так или так все и должно быть или чего куда?
Юра
Эрэй колекшн нужен для того чтобы когда ты создал новую энтити то мог сразу же добавлять новые связи ей
Юра
Когда энтити достается из БД там persistent collection
Юра
Обе они наследуют от базовой коллекции
Юра
Бывают еще лейзи колекшн
Гречушников
Сергей
Всем привет.
А как в симфе указать тип поля DateTime с таймзоной?
Юра
В доктрине?
Сергей
ага
Сергей
Мне надо фильтровать по полю.
Чтобы каждый день показывался новый набор данных. Для разных таймзон соответственно надо чтобы набор данных менялся вовремя
Maxim Kainov
Сергей
Юра
Working with DateTime Instances - Doctrine Object Relational Mapper (ORM)
https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/cookbook/working-with-datetime.html
Юра
С таймзонами обычно все не так просто
Юра
По твоему вопросу не понятно ничего
Юра
Как фильтр устроен?
Юра
Если фильтр выводится симфонийской формой то можно возсользоваться этим
Юра
https://symfony.com/doc/current/reference/forms/types/datetime.html#view-timezone
Сергей
Как фильтр устроен?
Там смысл в том, что нужно показывать сумму по платежам за текущий день.
Сейчас таймзон нет, потому где-нибудь в Америке новый день уже наступил, а суммы показываются за вчерашний день.
Юра
Вообщем я бы сделал так
Юра
Хранить ВСЕ даты в UTC
Юра
каким-то образом передавать таймзону клиента на бек
Юра
можно после логина аяксом
Юра
в твоем запросе дату перевести в нужную зону
Юра
Можно либо хранить таймзону в админке, либо получать динамически через джаваскрипт Date().getTimezoneOffset()
Сергей
Т.е нужно в каждый запрос встраивать установку таймзоны? Просто я только один пример привел. Там дофига запросов где это учитывать надо
Юра
можно листенером устанавливать https://www.php.net/manual/ru/function.date-default-timezone-set.php
Юра
только тестить надо
Юра
чтобы данные всегда сохранялись в UTC
Юра
тогда любой новый объект DateTime будет в временной зоне клиента
Сергей
Сергей
Ну это выше скидывали пример доктриновский.
Там вроде тип поля должен быть с таймзоной, чтобы таймзона применялась.
Юра
Юра
это про datetime_tz
Юра
хз что он делает никогда с ним не работа
Юра
оно какое-то стремное
Юра
и вообще реально не надо хранить таймзону в БД
Юра
у тебя все в UTC лжно быть и так
Юра
иначе полный аут
Сергей
Да я согласен. Тогда в каждом запросе применять таймзону видимо
Юра
Вот тебе наводка