Спасибо.
А если создается индекс внешнего ключа, то нужно создавать обычный индекс?
Найдено 609 результатов
- 2018.02.16, 11:46
- Форум: Общие вопросы по программированию
- Тема: индексы БД
- Ответы: 11
- Просмотры: 3171
- 2018.02.16, 11:23
- Форум: Общие вопросы по программированию
- Тема: индексы БД
- Ответы: 11
- Просмотры: 3171
Re: индексы БД
Почему тогда второй нужен?
- 2018.02.16, 10:15
- Форум: Общие вопросы по программированию
- Тема: индексы БД
- Ответы: 11
- Просмотры: 3171
индексы БД
Если есть уникальный ключ по связке из 2 полей, нужно ли создавать 2 дополнительных индекса по этим полям для ускорения поиска по ним по отдельности? Например, $this->createIndex('idx-name', SqlProgramRepository::SUBJECTS_TABLE, 'name'); //нужен этот индекс? $this->createIndex('idx-type', SqlProgram...
- 2018.02.15, 10:29
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
Re: вложенные сущности, доменные события
То есть агрегат становится не самостоятельным объектом, а зависимым от того, релизнет ли внешний клиент его события или нет. Почему? Нету такой зависимости. Релизится в репозитории. Если сделать через синглтон, проблема с "мерджингом" даже не появится. Откуда вообще эта идея с releaseEven...
- 2018.02.14, 23:11
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
Re: вложенные сущности, доменные события
А еще лучше, в методе getUpdateTime агрегата проходить по всем сущностям и возвращать нужное время.
Вроде самый адекватный вариант.
Вроде самый адекватный вариант.
- 2018.02.14, 22:56
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
Re: вложенные сущности, доменные события
Что-то про время изменения забыл... Если менять сущность, то агрегат не узнает время изменения напрямую. Думаю, сделать такой хак. При сохранении, в репозитории выбрать время изменения агрегата и всех сущностей, и в итоге записать максимальное из них. Но в таком случае, $ar->getUpdateTime() будет во...
- 2018.02.14, 22:48
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
- 2018.02.14, 20:58
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
Re: вложенные сущности, доменные события
А если это не удобно? $aggregate->addSomething($entityId, $itemId) // намного удобней так $entity = new Entity(...); $entity->addSomething(...); $aggregate->addEntity($entity); $aggregate->addEntity($entity2); // ... $events = $aggregate->releaseEvents(); // обходит сущности и мержит их события со с...
- 2018.02.14, 18:17
- Форум: Архитектура, дизайн, ООП
- Тема: вложенные сущности, доменные события
- Ответы: 12
- Просмотры: 4982
вложенные сущности, доменные события
Есть у меня агрегат, содержащий список сущностей, и каждая из этих сущностей содержит список идентификаторов других сущностей. Мне нужно сохранять все дерево в репозитории. Но как быть с событиями? Нет проблем, когда я добавляю сущность в агрегат, но должна ли сущность создавать событие, когда она и...
- 2018.02.12, 17:21
- Форум: Архитектура, дизайн, ООП
- Тема: DDD, remove, aggregate event
- Ответы: 2
- Просмотры: 1990
Re: DDD, remove, aggregate event
Ну да, логично. Спасибо.
- 2018.02.12, 17:00
- Форум: Архитектура, дизайн, ООП
- Тема: DDD, remove, aggregate event
- Ответы: 2
- Просмотры: 1990
DDD, remove, aggregate event
Почему нельзя создать событие удаления прямо в репозитории?
Зачем добавлять агрегату лишний метод remove и вызывать его перед вызовом repository::remove?
Зачем добавлять агрегату лишний метод remove и вызывать его перед вызовом repository::remove?
- 2018.02.11, 22:29
- Форум: Общие вопросы (Yii 2.x)
- Тема: часовой пояс
- Ответы: 4
- Просмотры: 1396
Re: часовой пояс
Что-то ты перепутал. Время в PHP всегда зависит от часового пояса, единственное исключение, это UNIX timestamp, оно по определению в UTC.
И что мне, по твоему, даст таблица? Не обижайся, но это какой-то бред, для фильтров еще таблицу буду создавать
И что мне, по твоему, даст таблица? Не обижайся, но это какой-то бред, для фильтров еще таблицу буду создавать
- 2018.02.11, 20:47
- Форум: Общие вопросы (Yii 2.x)
- Тема: часовой пояс
- Ответы: 4
- Просмотры: 1396
Re: часовой пояс
Пока сделал с помощью хелпера, так более красивше
Но тема не закрыта.
Код: Выделить всё
$filters = $model->toArray();
$filters['creationDateFrom'] = DateTime::toUtc($filters['creationDateFrom']);
$filters['creationDateTo'] = DateTime::toUtc($filters['creationDateTo']);
- 2018.02.11, 20:14
- Форум: Общие вопросы (Yii 2.x)
- Тема: часовой пояс
- Ответы: 4
- Просмотры: 1396
часовой пояс
Системное время выставлено в UTC, Formatter::timezone установлен в локальный часовой пояс юзера. В табличках все хорошо выводится. Но как лучше сделать для фильтров? Должна быть такая схема: юзер вводит локальную дату -> система преобразует в UTC -> ... -> преобразовываем в локальную дату -> выводим...
- 2018.02.10, 19:35
- Форум: Общие вопросы (Yii 2.x)
- Тема: В чем суть DataFilter?
- Ответы: 7
- Просмотры: 4775
- 2018.02.10, 18:14
- Форум: Общие вопросы (Yii 2.x)
- Тема: В чем суть DataFilter?
- Ответы: 7
- Просмотры: 4775
В чем суть DataFilter?
Обнаружил такую новую модельку https://github.com/yiisoft/yii2/blob/ma ... Filter.php
Но толковой документации с примерами не нашел.
Кто нибудь использовал? В чем вообще преимущество в сравнении с обычной search model?
Но толковой документации с примерами не нашел.
Кто нибудь использовал? В чем вообще преимущество в сравнении с обычной search model?
- 2018.02.10, 02:43
- Форум: Архитектура, дизайн, ООП
- Тема: cQrs, общие вопросы
- Ответы: 8
- Просмотры: 3803
Re: cQrs, общие вопросы
Спасибо за ответ. Идею в принципе понял. Я знакомлюсь с DDD, но в работе использую только те идеи DDD, которые считаю уместными. Например, идею репозиториев и сервисов (хотя, это больше из гексагональной темы). Поэтому я добавил оговорку, что разницы для меня особой нет, в каком контексте рассматрив...
- 2018.02.10, 01:12
- Форум: Архитектура, дизайн, ООП
- Тема: DDD, работа с файлами
- Ответы: 9
- Просмотры: 3988
Re: DDD, работа с файлами
В сервисе удалять нельзя. Ибо у сервиса нет информации, будет ли файл использоваться где-то еще в приложении. Так что, оставляем эту заботу тому, кто передал файл в сервис.
- 2018.02.09, 20:47
- Форум: Архитектура, дизайн, ООП
- Тема: DDD, работа с файлами
- Ответы: 9
- Просмотры: 3988
Re: DDD, работа с файлами
Я вот гадаю, что делать с временным файлом (не факт, что он был загружен через форму, так что полагаться на GC нельзя)? Удалять его в сервисе или же возложить ответственность за подчистку тому коду, который создал файл (контроллеру, например)?
- 2018.02.09, 17:29
- Форум: Архитектура, дизайн, ООП
- Тема: DDD, работа с файлами
- Ответы: 9
- Просмотры: 3988
Re: DDD, работа с файлами
Есть готовые либы с адаптерами. Не вижу смысла заниматься выделением интерфейсов, когда есть готовые сторонние решения/интерфейсы