@symfony_php

Страница 106 из 1418
Алексей
15.02.2017
13:07:41
> а жать на CI смысла нет, потому что деплоймент идет с гит репозитория, а не с артифактов Так может деплоймент переделать? :)

Aleksandr
15.02.2017
13:31:20
а как на симфони генерить табличные формы? к примеру, список заказов

а то я в репозитории создаю специально для этого метод, который подтягивает все остальные сущности (имя покупателя, к примеру) и формирует массив

а потом это в твиге вывожу

Google
Aleksandr
15.02.2017
13:32:15
http://stackoverflow.com/questions/15266511/table-view-of-entities-in-symfony2-with-twig

гугл дал только это

Sergey
15.02.2017
13:32:44
просто таблицу или редактируемую таблицу?

Aleksandr
15.02.2017
13:33:09
просто таблицу

Алексей
15.02.2017
13:33:39
А проблема-то в чём?

Можно использовать какой-нибудь datagrid-компонент или просто свой вывод написать. Всего лишь цикл же.

Aleksandr
15.02.2017
13:35:45
так хочется обойтись без портянки в репозитории… создаю связь /** * @var int * * @ORM\Column(name="customer_id", type="integer") * @ORM\ManyToOne(targetEntity="AppBundle\Entity\CustomerEntity") * @ORM\JoinColumn(name="customer_id", referencedColumnName="id") */ private $customer_id; но это поле возвращает только айдишник покупателя, поэтому в репе приходится делать запрос к таблице покупателей

а хочется чтобы в контроллере при find(id) выдало все красиво и я мог обращаться в твиге как order.customer.first_name

Алексей
15.02.2017
13:36:31
Эмм...

Это ты думаешь, что оно возвращает int.

Aleksandr
15.02.2017
13:37:03
var_dump утверждает что дает инт

Алексей
15.02.2017
13:37:06
Хотя ты там ад в маппинге устроил.

Ты повесил на одно свойство и @Column, и @JoinColumn. Ты уж определись.

Google
Aleksandr
15.02.2017
13:38:07
твою за ногу… я думал @Column тоже обязательно

Алексей
15.02.2017
13:38:10
Иди в документацию доктрины и смотри раздел Mapping, затем Relations Mapping.

Ну как бы Column обязательно, если ты хочешь маппинг скаляра какого-то или массива, например. Если у тебя связь идёт с другой сущностью - ты используешь либо JoinColumn (Many-To-One), либо JoinTable (Many-To-Many)

Aleksandr
15.02.2017
13:39:30
понял спасибо

Алексей
15.02.2017
13:40:12
Про массив выше, если что - это в смысле, если ты решишь использовать тип json или array, например. Доктриновский тип. А не про массив объектов.

Yuriy
15.02.2017
13:41:20
всем привет, скажите пожалуйста в Symfony можно подгрузить дамп бд в Mysql ? одной операцией а не перебирать построчно

альтернатива загрузки из консоли mysql -u -p mydadabase < mydadabase.sql

Muhammad
15.02.2017
13:43:29
exec не подойдет?

Или shell_exec

Алексей
15.02.2017
13:44:26
Ну можно, в принципе. Засунуть всю эту портянку в DBAL. Но если она большая - что-нибудь может порваться.

Лучше использовать mysql таки.

Lezhnev
15.02.2017
13:45:40
php app/console dbal:import

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/tools.html#command-overview

Yuriy
15.02.2017
13:50:09
объем большой и это нужно замутить в SF 1.4 (doctrine 1.2)

Denis denya Voskoboinik
15.02.2017
16:00:31
как правильно сделать вложенную нормализацию? т.е. есть сущность Post, связанная один ко многим с сущностью Comments я пишу PostNormalizer и CommentsNormalizer в PostNormalizer 'comments' => $post->getComments() в контроллере $serializer->serialize($post, 'json') В таком варианте комментарии не подтягиваются, как правильно сделать чтобы они подтягивались?

Roman
15.02.2017
16:09:31
должны подтягиваться

а что в итоге в результирующем жсоне?

comments: [] Такое?

Denis denya Voskoboinik
15.02.2017
16:12:04
comments: Object

пустой объект

Google
Roman
15.02.2017
16:13:28
comments: Object это ты в клиенте смотришь?

Алексей
15.02.2017
16:13:34
'comments' => $post->getComments()->toArray() А так?

Roman
15.02.2017
16:14:12
та ну, если нормалайзеры написаны то должно все работать

Алексей
15.02.2017
16:14:25
Должно, да.

Roman
15.02.2017
16:14:42
я подозреваю что что-то с мапингом

Denis denya Voskoboinik
15.02.2017
16:15:50
ну раз я все правильно понимаю, то ладно, буду копать дальше

я думал что может я принципиально что-то не так делаю

спасибо

Roman
15.02.2017
16:16:31
принципиально все правильно

но может там этих каментов нет

а хотя...

Roman
15.02.2017
16:17:20
кароч, хз

Alexander
15.02.2017
16:29:40
https://vk.com/wall-71723652_215

Pavel
15.02.2017
17:54:59


Почему ескейпшоны все равно проходят?

Что я не так сделал

Stepan
15.02.2017
17:57:34
Exception в use есть? Поставь лидирующие слэш

Pavel
15.02.2017
17:57:50
Stepan
15.02.2017
17:57:57
\Exception

Google
Pavel
15.02.2017
17:57:58
Есть, пхпшторм бы ругался

пхп 7, пробовал 7.1 тож

Stepan
15.02.2017
17:59:01
try {...} catch (\Exception $e) {}

Pavel
15.02.2017
18:00:00
try {...} catch (\Exception $e) {}
Никак. Я даже пытался ловить тот же обьект исключения что и мне фатал устраивает - все равно выскакивает





Че за бред?

Если дампать внутри catch то все ок

Но мне это не надо

Admin
ERROR: S client not available

Pavel
15.02.2017
18:06:18
Big_Shark
15.02.2017
18:06:32
А он их не обходит?
Попробуй Error отловить

Pavel
15.02.2017
18:07:04
Попробуй Error отловить
Да, получилось

Big_Shark
15.02.2017
18:07:42
Да, получилось
или даже Throwable

Да, получилось
но учти, еслиб я такое увидел в своем коде, я бы попытался оторвать руки тому кто это написал )

Big_Shark
15.02.2017
18:09:14
Ну а что, мне колбасы писать из ифов?
ну типа того, и кидать кастомные эксепшены, и их ловить, ловить глобальный эксепшен вообще не тру.

Big_Shark
15.02.2017
18:10:21
Ну окей
кинь весь код на пастбин, и опиши зачем тебе все это, попробую помочь

Google
finkel
15.02.2017
19:33:37
а зачем тут вообще trycatch?) почему не что-то типа: "return $season && $episode;"

Denis denya Voskoboinik
15.02.2017
20:57:58
как правильно сделать вложенную нормализацию? т.е. есть сущность Post, связанная один ко многим с сущностью Comments я пишу PostNormalizer и CommentsNormalizer в PostNormalizer 'comments' => $post->getComments() в контроллере $serializer->serialize($post, 'json') В таком варианте комментарии не подтягиваются, как правильно сделать чтобы они подтягивались?
Если я в нормализаторе поста сделаю так: $serializerComments = new Serializer([new CommentsNormalizer()]); 'comments' => $serializerComments->normalize($post->getComments(), $format, $context) То все работает как надо, может кто подскажет почему нормализатор автоматически не подтягивается? или он не должен этого делать?

Sergey
15.02.2017
21:01:17
нет не должен

регистрируй их в контейнере через теги

и сериалайзер подтягивай из контейнера

тогда все будет ок

Denis denya Voskoboinik
15.02.2017
21:06:04
так и делаю post_normalizer: class: AppBundle\Serialization\PostNormalizer public: false tags: - { name: serializer.normalizer } post_comments_normalizer: class: AppBundle\Serialization\PostCommentsNormalizer public: false tags: - { name: serializer.normalizer }

Sergey
15.02.2017
21:06:25
да все правильно. а почему тогда new Serializer пишешь?

Denis denya Voskoboinik
15.02.2017
21:07:08
потому что не сериализуются комментарии поста, по связи один ко многим

и я в нормализаторе поста создал сериализатор комментариев

Sergey
15.02.2017
21:07:52
а глянь дебаггером он точно зарегал нормалайзер в сериалайзере?

Denis denya Voskoboinik
15.02.2017
22:38:20
прости за задержку, точно зарегал 'normalizers' => array ( 0 => AppBundle\Serialization\ClientNormalizer::__set_state(array( )), 1 => AppBundle\Serialization\PostNormalizer::__set_state(array( )), 2 => AppBundle\Serialization\CommentsNormalizer::__set_state(array( )), 3 =>

Aleksandr
16.02.2017
06:52:06
я завис тут с сонатой… возможно ли как-то передать в пользовательскую функцию параметр? у меня есть множество и мне надо понять входит ли в это множество переменная и в зависимости от этого вывести да/нет

в сущности есть метод isRead(Entity)

который возвращает булево

Aleksandr
16.02.2017
07:08:58
сущность возвращает список пользователей, которые прочитали уведомление

мне надо этой функции скормить айдишник текущего пользователя

то есть чтобы я в листмэппере сделал add(‘isRead’, ‘boolean’)

и у меня вывелось прочитал данный пользователь уведомление или нет

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