@symfony_php

Страница 758 из 1418
Bohdan
18.03.2018
20:40:05
а с дебагом у него в результате как?

Sergey
18.03.2018
20:40:10
сорс мапы ж

Sergey
18.03.2018
20:40:11
ну выглядит непривычно да
невривычно выглядит elm

[Anonymous]
18.03.2018
22:56:32
Доброй ночи. Пытаюсь добавить в базу пользователя, который имеет еще одну связанную сущность (профиль). Записи добавляются, но вот user_id не выставляется в таблице profiles :c Что я, криворукий, делаю не так?

Google
Sergey
18.03.2018
22:56:49
$profile->setUser($user)

[Anonymous]
18.03.2018
22:57:03
Есть

Sergey
18.03.2018
22:57:12
проверь маппинг

[Anonymous]
18.03.2018
22:57:39
/** * @ORM\OneToOne(targetEntity="Profile", mappedBy="user", cascade={"persist", "remove"}) */ private $profile;Этот?

А такс, стоп

$profile->setUser($user)
У меня наоборот

$user->setProfile($profile);

Для полноты картины - users: email, password. profiles: user_id, name, surname, etc

Andrew
19.03.2018
07:27:36
Для полноты картины - users: email, password. profiles: user_id, name, surname, etc
Опять проектируем не отношения объектов а таблички?) doctrine:schema:validate и doctrine:mapping:info - твои лучшие друзья

Andrey
19.03.2018
08:22:33
1. schema diff это фича dbal а не orm 2. существуют другие инструменты для миграций, которые работают даже лучше
Но diff без маппингов ORM не заработает) Либо самому реализовать SchemaProviderInterface

Sergey
19.03.2018
08:28:56
Но diff без маппингов ORM не заработает) Либо самому реализовать SchemaProviderInterface
ну схема должна быть где-то описана а значит тебе надо где-то это описать. И откуда-то загрузить. И по этому нужен будет schema provider interface. Справедливости ради - делается это за минут 10

по факту это может быть просто класс реализующий SchemaProviderInterface который просто возвращает схему. Уровень сложности - 0

Google
Sergey
19.03.2018
08:30:07
я даже делал скрещивание ORM и такой схемы... ну то есть берется схема от ORM и сверзу навешивается моя схема

в целом удобно)

Kate
19.03.2018
08:51:22
Ребята, привет! Подкажите плиз как в Symfony у поля выставить запрет на множественное отображение ошибок, чтобы отображалась только первая ошибка Например, если не пройдена валидация по длине пароля и по соответствию паттерну, чтобы выводилось только первая ошибка о длине пароля

Kate
19.03.2018
09:15:42
{{ form_errors(form.new.first) }}
гугл подсказал что-то такое https://stackoverflow.com/questions/11627337/symfony-2-gives-more-than-one-validation-error-message

Alexander
19.03.2018
09:16:35
Переопредели шаблон для form_errors

Скорее что то такое

https://stackoverflow.com/questions/14793493/symfony2-form-validation-how-display-only-first-error-message-per-field

Kate
19.03.2018
09:25:50
https://stackoverflow.com/questions/14793493/symfony2-form-validation-how-display-only-first-error-message-per-field
в моем случае удобней всё-таки через group_sequence но всё-равно спасибо за помощь)

Arthur
19.03.2018
11:03:32
всем привет, если кто сталкивался, подскажите плз, как сжать очень большой json (~50MB) и отправить его на фронт? вернее, какой способ есть с самым максимальным сжатием? я попытался с gzencode, но нужно еще сильнее

про то что, можно чанками, я знаю )

но тут не подойдет 0

Vladislav
19.03.2018
11:05:08
Я помню в детстве winrar юзал ))))00

Bohdan
19.03.2018
11:06:19
сжать можно прям почти до нуля а вот распаковать...

Arthur
19.03.2018
11:06:24
Я помню в детстве winrar юзал ))))00
норм тема, все юзали)

на фронте к тому же IE 11

Ilshat
19.03.2018
11:07:34
ребят, @ Assert\Regex можно применить к массиву, чтобы значения по регексу проверял?

Google
Vladislav
19.03.2018
11:08:06
Погугли

Andrew
19.03.2018
11:10:21
на фронте к тому же IE 11
А что медленнее будет - пересылка или распаковка на клиенте?

Andrey
19.03.2018
11:11:14
в теории, можно поискать потоковый парсер, и выдавать streamedresponse

Arthur
19.03.2018
11:11:52
я просто юзал его по минимуму

Ilshat
19.03.2018
11:12:19
Andrew
19.03.2018
11:14:14
пересылка, я думаю
Я не уверен. Попробуй bson например, но не факт что он будет эффективнее

Andrew
19.03.2018
11:18:23
Но все равно, мне кажется что скорее браузер навернется от такого количества объектов, ну или просто тормоза будут

Алексей
19.03.2018
11:21:21
Да просто по сокету отдавать кусочками

Andrey
19.03.2018
11:24:12
а streamedresponse не сдохнет от таймаута?
в принципе, может и сдохнуть. Конкретно это не решал ещё. Также не использовал

Arthur
19.03.2018
11:24:25
ok

Konstantin
19.03.2018
14:10:37
подскажите кто разумеет. есть скажем магазины, пусть еще будут бренды, и табличка с товарами . можно указать что магазин продает какие то бренды (на фронтенде например галочками), и нужно будет иметь быструю выборку товаров этого магазина. количество магазинов и товаров дает пересечение в несколько лямов, так что отдельную таблицу не хочется делать shop_product. думалось - если на этапе редактирования хранить в магазинах список вендоров. по которому можно фильтровать товары - это будет экономно. вопрос в том насколько будет быстро или может есть какие то еще варианты? (хранимые процедуры ?) все это дело в контексте симфони

Sergey
19.03.2018
14:30:56
Ну указал ты на фронте галочки брендов напротив магазина, а выбирать, что нужно? Все товары всех брендов? Или товары только тех брендов для которых стоят галочки? Причем тут пересечение магазинов и товаров? - На фронте же указано, что нужно выбрать данные по конкретному магазину! - или нет? А фильтровать по каким параметрам? Цена, цвет, аромат? А что за товары? Велосипеды, носки, коньки? - парамеры у них разные? Вопрос не в том, насколько быстро это будет, а в том, что вообще нужно. Грамотно сформулировав задачу, можно найти львиную долю решений. Симфони тут или другой фреймворк - совсем не имеет значение.

Sergey
19.03.2018
14:38:17
для начала - у тебя СУБД какая? недомускуль или православный постгрес?)

> вопрос в том насколько будет быстро все упирается в индексы, сам понимаешь. Если у тебя mysql - то скорее всего будет медленно) если postgresql - скорее всего ты сможешь из этого построить индекс

ну и опять же - пара лямов в pivot таблице это не страшно

Google
Konstantin
19.03.2018
14:41:19
ну вот пока все не зашло настолько далеко что уже сложно что то исправлять - сейчас есть время всё подумать и сделать грамотно. пока еще ничего не сделано

Boris
19.03.2018
14:43:27
Привет всем, подскажите, а пользуется кто какой оболочкой для просмотра БД?

Баз много на разных серверах, а данные в консоли проверять не очень удобно.

У меня на десктопе если чо ubuntu 16.04

Admin
ERROR: S client not available

Sergey
19.03.2018
14:44:26
> вопрос в том насколько будет быстро все упирается в индексы, сам понимаешь. Если у тебя mysql - то скорее всего будет медленно) если postgresql - скорее всего ты сможешь из этого построить индекс
Спорное утверждение. У меня примерно 1 лям магазинов и 1 лярд товаров и ХЗ сколько атрибутов. Не поверишь, хранится это все в TSV. Поиск по атрибутам товаров выполняется менее чем за 1 сек. Из инструментария только PHP и файлы )

Bohdan
19.03.2018
14:45:26
и штормовский просмотрщик для двух основных баз (локальной и куа сервер)

Sergey
19.03.2018
14:46:41
Спорное утверждение. У меня примерно 1 лям магазинов и 1 лярд товаров и ХЗ сколько атрибутов. Не поверишь, хранится это все в TSV. Поиск по атрибутам товаров выполняется менее чем за 1 сек. Из инструментария только PHP и файлы )
1 лям магазинов на эту цифру никак не должен влиять, остаемся с лярдом товаров и атрибутами. Теперь по поводу TSV - вопрос выбранной структуры) я сильно сомневаюсь что у тебя пых меньше чем за секунду сделает лярд итераций. Только если у тебя файл уже загружен в память то ВОЗМОЖНО.

то етсь ты что-то недоговариваешь)

но в целом - я не говорю что это нельзя сделать быстрым

вопрос выбранной модели данных

и только)

Konstantin
19.03.2018
14:47:46
ну так я вопрос и задал - как хранить

Sergey
19.03.2018
14:47:48
p.s. 1 секунда для поиска по каталогу это очень много

ну так я вопрос и задал - как хранить
два аспекта: - консистентность - скорость чтения (денормализация)

далее возможности СУБД

мускуль умеет в jsonb например но хреново умеет в индексы хитрые

Konstantin
19.03.2018
14:48:52
юз кейс простой - получить товары магазина. магазин торгует брендами. бренд это параметр товара

Google
Sergey
19.03.2018
14:49:20
товары магазина это many-to-one, тут никакой денормализации не надо и т.д.

брэнды и товары - one-to-many по идее

Konstantin
19.03.2018
14:49:41
ну так и вот - выбор между "хранить набор продаваемых брендов в записи магазина" чтобы достать и фильтровать по ним, либо отдельная таблица shops_products что мне кажется лишнее

Konstantin
19.03.2018
14:50:22
просто в первом случае я их 1 раз записал во время редактирования - в остальном я просто читаю их из поля и использую сразу

во втором случае - огромная таблица

Sergey
19.03.2018
14:50:34
brands - id - name products - brandh_id shops - id products_shop - product_id - shop_id

Konstantin
19.03.2018
14:50:57
десятки лямов скорей всего, я уточнил

Sergey
19.03.2018
14:52:18
десятки лямов это не очень много. Ты всегда можешь сделать такую структуру, набить туда разнородных данных рандомом и проверить)

но повторюсь - десятки лямов это не очень много. Покуда у тебя индексы в оперативку помещаются все будет относительно быстро

Konstantin
19.03.2018
14:52:35
могу. но оно стоит того или не стоит?

Sergey
19.03.2018
14:52:46
да, почему нет

Konstantin
19.03.2018
14:55:40
лан попробую

Sergey
19.03.2018
14:55:45
1 лям магазинов на эту цифру никак не должен влиять, остаемся с лярдом товаров и атрибутами. Теперь по поводу TSV - вопрос выбранной структуры) я сильно сомневаюсь что у тебя пых меньше чем за секунду сделает лярд итераций. Только если у тебя файл уже загружен в память то ВОЗМОЖНО.
А зачем пыху делать лярды итераций при каждом поиске? Все зависит от того, как ты уложил данные на диск и как потом их читаешь. В памяти ничего нет. 1 запрос на выборку потребляет примерно +- 100метров. К чему это я? А к тому, что изначально не понятны требования задаче. Сформулировав требования можно найти хорошее решение. А какую БД использовать - это десятый вопрос. У меня вообще ее нет в этом случае. PS. Я не говорил, что выборка отрабатывает за 1 сек. Я написал, что менее чем за 1 сек. Впрочем, изначально требовалось укладываться в 1 минуту.

Страница 758 из 1418