Мне все равно как там все - ты надоел лично мне, своим хамством и некомпетентностью
Ну так вот тебе мнение - ты делаешь полное говно и занимаешься делом, в котором не разбираешься
Пока что ты добился звание местного дурачка.Все твои достижения. Помню как ты кричал, что никакая ОРМ тебе не нужна, облажался и полез делать и снова облажался..
Модеры, закрывайте этот бред, короче
Я для чего тут тему создал? Чтобы обсудить как что сделать. Сырое ещё, довожу до ума.
Да и выкладывать ничего не собираюсь раз от вас помощи никакой нет, а только отсыл на разный говнокод..
Своих мозгов то нет, скопипастить что в сети нагуглив, зачем изобретать то.. зы. так ведь вы рассуждаете..
Как обычно, трепло, только и умеешь что оскорблять, ничего сам из себя не представляя. Ты даже не догоняешь, для чего в принципе нужны ОРМ, приходишь попозорится. Надоел.
Включи мозг. Запрос к базе ничем не будет отличатся, также будут джониться таблицы.
Кроме того запросы могут быть и через таблицу и через ту таблицу которая через и тд. намного сложнее чем простое добавление(JOIN LEFT|RIGHT|FULL). И все запросы будет составлять ORMка в зависимости от связей таблиц, а в коде зная связи можно получать данные например зная только id из одной таблицы которая имеет связь с второй, вторая с третьей и четвёртой из которых получить доступ к пятой по определённому отбору. Тебе с твоим ущербным мозгом никогда такой запрос не составить, а моя ORMка легко это сделает.
Покажи пример реализации а не рассказывай сказки
Как обычно - ты перепутал форум и разглагольствуешь для домохозяек, забывая, что тут так есть программисты/кодеры. Приведи пример своего класса, покажи что именно он упрощает и так уж совсем ли не надо знать SQL?
Вот к примеру тебе простенький запрос из реальной жизни - покажи как он будет выглядеть в твоей ОРМке?
query = db.text(""" WITH related_audio_and_subtitles AS ( SELECT cms_media.media_type as media_type, avail_item.id as media_id FROM cms_media INNER JOIN cms_item media_item ON (cms_media.item_ptr_id = media_item.id) INNER JOIN catalog_avails avails ON avails.item_id = media_item.parent_id INNER JOIN cms_item avail_item ON avails.item_id = avail_item.id INNER JOIN cms_item episode_item ON (avail_item.parent_id = episode_item.id) INNER JOIN cms_item season_item ON (episode_item.parent_id = season_item.id) INNER JOIN cms_territory AS territory ON avails.territory_id = territory.id AND territory.code = ANY (ARRAY [:territory_code, 'all_terr']) LEFT JOIN catalog_avails_devices AS many_devices ON many_devices.avails_id = avail_item.id LEFT JOIN cms_device device ON many_devices.device_id = device.id WHERE ( cms_media.media_type = 'audio' OR cms_media.media_type = 'subtitle' ) AND season_item.parent_id = :item_id AND avails.start_timestamp::int8 < extract(epoch from now())::int8 AND avails.end_timestamp::int8 > extract(epoch from now())::int8 AND ( LOWER(device.title) = ANY (ARRAY [LOWER(:device_type), 'all']) OR device.title isnull ) ) SELECT DISTINCT cms_language.id, cms_language."LanguageName" as language_name, cms_language."LanguageCode" as language_code, related_audio_and_subtitles.media_type as media_type FROM cms_media_languages INNER JOIN cms_language ON ( cms_media_languages.language_id = cms_language.id ) INNER JOIN related_audio_and_subtitles ON cms_media_languages.media_id = related_audio_and_subtitles.media_id """)
Ты уже показал, что об джойнах не имеешь понятия, не сделав мой простой пример. Могу поспорить, что ты не сделаешь лучше чем в симфони. Ты просто счас поставил задачу на примитивном примере и тебе кажется, что ты можешь упростить, по факту когда все раздуется до реально сложных запросов - сядешь в лужу.
Ну и опять же о голословности. Я тебе пример пример ормки из симфони - ты в состоянии это переписать понятнее? Челлендж? Я даже не буду арбитром, мне лень разбираться в пхп коде, форумчане рассудят.
По факту ты бы мог прикрутить эту ОРМ и пойти дальше к к готовому продукту, а ты опять придумываешь квадратные колеса.
Не надоело тебе изобретать то, что давно есть? Как пример:
// src/Repository/ProductRepository.php// ...class ProductRepository extends ServiceEntityRepository{ public function findAllGreaterThanPrice(int $price, bool $includeUnavailableProducts = false): array { // automatically knows to select Products // the "p" is an alias you'll use in the rest of the query $qb = $this->createQueryBuilder('p') ->where('p.price > :price') ->setParameter('price', $price) ->orderBy('p.price', 'ASC'); if (!$includeUnavailableProducts) { $qb->andWhere('p.available = TRUE'); } $query = $qb->getQuery(); return $query->execute(); // to get just one result: // $product = $query->setMaxResults(1)->getOneOrNullResult(); }}
Не то слово.Два месяца уже ищу,всё без толку
Может, вы не так ищете? У нас только в нашем GDO сейчас открыто более 40 позиция на пайтон-разработчика. Люди за 2-3 месяца переучиваются и приходят.
Очень сомневаюсь, что за эти деньги можно сделать что-то нормальное 😀