
Елнур
24.03.2018
10:54:25
со связами и джоинами
если нужно, чтобы ленивые запросы не делать, то просто в CountryCriteria можете добавить поле withRelation

Grigoriy
24.03.2018
10:54:58
ну примерно понятно. когда есть ORM-ка такое не должно бысть сложно сделать

Елнур
24.03.2018
10:55:00
а если это какая то выборка между несколькими таблицами для совсем других целей, то создаете совсем другую критерию и матчер

Grigoriy
24.03.2018
10:55:03
более интересные способы известны?

Google

Grigoriy
24.03.2018
10:55:12
которые ну знаешь - никто не использует к примеру

Елнур
24.03.2018
10:55:20

Grigoriy
24.03.2018
10:55:35
а чего ты его энтити окрестил тогда?
это на русский получается "управляющий сущностями"

Елнур
24.03.2018
10:56:08
не суть. Вы туда можете передавать какой то query builder или сразу DBConnection

Grigoriy
24.03.2018
10:56:14
а
воткнул

Елнур
24.03.2018
10:56:58
не могу точно сказать, такой подход является ли правильным, но лично для себя очень удобно
Например, у вас есть таблица "Статья", есть таблица "Комментарий"... для каждого из них создаете свою критерию и матчер...

Grigoriy
24.03.2018
10:58:13
я выбросил зависимость от entity manager в другой файл чтобы его не кидать на вход

Елнур
24.03.2018
10:58:30
Но если нужно создавать какие то отчеты по двум таблицам, то создается другой criteria & matcher

Grigoriy
24.03.2018
10:58:37
он у меня где-то в абстракции методом получается
но мб это кривовато для самого паттерна критерия

Google

Елнур
24.03.2018
10:59:46
так же criteria можно сериализовать и хранить

Grigoriy
24.03.2018
11:00:17
ну это ясно - это формально говоря обычный массив который с заранее заполненными полями
его еще можно навернуть методами чекерами, фильтрами и дефолтами
если оч хотеть я понимаю о каком подвиде классов ты говоришь
это как бы "стандартный формат запроса в бд" с полями
соответственно хочешь другой запрос - пишешь другую критерию

Елнур
24.03.2018
11:01:42
да, верно

Grigoriy
24.03.2018
11:02:33
к этому я слава богу пришел что так удобнее
сначала я кидал на вход образец строки из базы
а потом понял что конкретно под базу могут быть еще поля и называться они могут по разному

Елнур
24.03.2018
11:03:01
так же, можно сделать так, чтобы в критерия в поля можно было передавать массив... Например, в CountryCriteria - $criteria->id = [1, 2, 3], это создаст запрос WHERE id IN (1,2,3)

Grigoriy
24.03.2018
11:03:25
а то есть она у тебя еще и как генератор запросов работает?
не просто пхпшный обьект?

Елнур
24.03.2018
11:04:20
criteria - это простой объект без методов
а вот matcher - это и есть конструктор запросов

Grigoriy
24.03.2018
11:04:36
ага
и в матчере же будут потом методы который строят фильтр из кусков
а формат вывода где хранишь?

Елнур
24.03.2018
11:05:45
да. например если в criteria какое то поле имеет значение null - то запрос по этому полю не строится

Grigoriy
24.03.2018
11:05:50
ну или это лишнее удобнее массив выплевывать?

Google

Елнур
24.03.2018
11:06:59
формат вывода - это публичные методы matcher-а. getResult - вернет массив объектов. getArrayResult - массив, getCount - вернет int, getIds - вернет массив int
так же можно сделать методы getSingleResult и getSingleArrayResult

Grigoriy
24.03.2018
11:08:35
ну я имею в виду классику ларавистов и прочих иистов по возврату на выход класса "модели"
который потом еще и ->save() делает и ваще такой умный что не передать
так делают?

Елнур
24.03.2018
11:09:08
у меня не AR

Grigoriy
24.03.2018
11:09:22
вот в этом и вопрос. может AR это деды уже
надо быть гибче - плюеешь массив, повышается адаптируемость системы
минус связь

Елнур
24.03.2018
11:10:17
есть и другие подходы кроме AR и массива ?
прогуглите про Doctrine например

Grigoriy
24.03.2018
11:10:55
я бы сказал что смысл это не наибольшее количество мнений, а смысл это единое мнение которое работает наиболее эффективно
часто нужно узнать все чтобы найти одно, но многие называют это "найти более удобное". они малость мимо
на мой взгляд
гуглить хорошо. ничто не заменит понимание человека. никакая тонна текста где "все расписано"

Елнур
24.03.2018
11:12:39

Grigoriy
24.03.2018
11:13:00
бесконечное едущий маглев с отделяемыми вагонами?
на ходу*
на текущее время

Google

Grigoriy
24.03.2018
11:13:37
хотя даже самолет наверное дешевле в эксплуатации

Alan
24.03.2018
14:17:34

pew
24.03.2018
14:18:11
не поможет тебе кусок кода

Alan
24.03.2018
14:18:17
только ты зачем то перечислил как можно больше и все подряд хотя суть та же
и можно на небольшом примере рассматривать

pew
24.03.2018
14:18:34
в проекте дофига всякого, вникать только две недели будешь

Alan
24.03.2018
14:18:40
ну классно
проект для веба с ежедневной разработкой в течение 3х лет не будет таким?

pew
24.03.2018
14:19:24
не на столько все связано

Alan
24.03.2018
14:19:24
наверное догадываешься что там не верстка 3 года менялась)

pew
24.03.2018
14:19:48
ну смотря какой проект конечно
ну вот ты не знаешь как мисать мморпг серваки, и тут такой опачи я тут написал пару предложений и ты такой окей вот те как надо было весь серв писать? ну что за детский сад
детский сад

Alan
24.03.2018
14:20:56
или ты не знаешь как писать без геттеров и такой да вы херню несете и детский сад у меня много классов и так проще )
а вам меня не понять

pew
24.03.2018
14:21:20
точно такой же как и советовать как там не так написано не зная что и зачем написано, и не зная даже 0.5% проекта

Alan
24.03.2018
14:21:27
ну зачем время тратить и обсуждать тогда?)

pew
24.03.2018
14:21:35
не зачем
просто поржу тут и все

Alan
24.03.2018
14:22:18
занятно лан)

Google

pew
24.03.2018
14:24:38
ну а смысл чето обсуждать в разговоре "не знаю че там у тебя но ты делаешь всё не правильно"

Alan
24.03.2018
14:25:34
чтоб ты сказал что делаешь все правильно вот код)
все почитали и осознали

pew
24.03.2018
14:26:15
я уже объяснил про код

Sergey
24.03.2018
14:35:28
меня больше смущает тот факт что есть задачи где люди говорят что "не работают все эти ваши принципы!" ниработают!!!1"
а ты такой читаешь, смотришь статьи и складывается ощущение что все примерно то же самое

Uiiuviiw
24.03.2018
14:37:32
статьи пишут студенты
коммерческая разработка совсем другое

Alan
24.03.2018
14:38:41
статьи пишут и те дядьки которые писали книжки которые у тебя на полке 10 лет стоят)

Sergey
24.03.2018
14:38:58
статьи пишут студенты
а ты пробовал искать статьи которые пишут не студенты а люди с 20+ хотя бы годами опыта коммерческой разработки?)

Uiiuviiw
24.03.2018
14:40:24
конечно. бросают работу и пишут. да и кто сказал что дядьки пишущие книги чтото понимают? 97% книг ересь

Sergey
24.03.2018
14:41:01
> 97% книг ересь
а вот тут я больше соглашусь чем не соглашусь)
есть такая простая штука - если по какой-то теме много книг значит мало кто в этой теме понимает)

Uiiuviiw
24.03.2018
14:42:16
воистину

Sergey
24.03.2018
14:42:22
ну вот смотри, мы в дискуссии с тобой уже выяснили что "ооп" то как я скажем понимаю и то как ты понимаешь - уже различается)