Sly32

Рейтинг
391
Регистрация
29.03.2012
Должность
Software engineer
ArbNet #:

Я для чего тут тему создал? Чтобы обсудить как что сделать. Сырое ещё, довожу до ума.

Да и выкладывать ничего не собираюсь раз от вас помощи никакой нет, а только отсыл на разный говнокод..

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

Как обычно, трепло, только и умеешь что оскорблять, ничего сам из себя не представляя. Ты даже не догоняешь, для чего в принципе нужны ОРМ, приходишь попозорится. Надоел.

ArbNet #:

Включи мозг. Запрос к базе ничем не будет отличатся, также будут джониться таблицы.

Кроме того запросы могут быть и через таблицу и через ту таблицу которая через и тд. намного сложнее чем простое добавление(JOIN LEFT|RIGHT|FULL). И все запросы будет составлять ORMка в зависимости от связей таблиц, а в коде зная связи можно получать данные например зная только id из одной таблицы которая имеет связь с второй, вторая с третьей и четвёртой из которых получить доступ к пятой по определённому отбору. Тебе с твоим ущербным мозгом никогда такой запрос не составить, а моя ORMка легко это сделает.

Покажи пример реализации а не рассказывай сказки

ArbNet #:
Легко получать,  изменять, удалять, добавлять данные и просто с ними работать не составляя никаких SQL запросов

Как обычно - ты перепутал форум и разглагольствуешь для  домохозяек, забывая, что тут так есть программисты/кодеры. Приведи пример своего класса, покажи что именно он упрощает и так уж совсем ли не надо знать 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
            """)
ArbNet #:
Мне же нужен свежий взгляд тех кто понимает, что такое связи в БД

Ты уже показал, что об джойнах не имеешь понятия, не сделав мой простой пример. Могу поспорить, что ты не сделаешь лучше чем в симфони. Ты просто счас поставил задачу на примитивном примере и тебе кажется, что ты можешь упростить, по факту когда все раздуется  до реально сложных запросов - сядешь в лужу.

Ну и опять же о голословности. Я тебе пример пример ормки из симфони - ты в состоянии это переписать понятнее? Челлендж? Я даже не буду арбитром, мне лень разбираться в пхп коде, форумчане рассудят.

По факту ты бы мог прикрутить эту ОРМ и пойти дальше к к готовому продукту, а ты опять придумываешь квадратные колеса.

Не надоело тебе изобретать то, что давно есть? Как пример:

// 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();
    }
}
snikers6444 #:

Не то слово.Два месяца уже ищу,всё без толку

Может, вы не так ищете? У нас только в нашем GDO сейчас открыто более 40 позиция на пайтон-разработчика. Люди за 2-3 месяца переучиваются и приходят.

nnnmmmxxx #:
Сейчас просто увидел чей то пост в ветке, который писал, что хороший ИМ от 10.000 уе.

Очень сомневаюсь, что за эти деньги можно сделать что-то нормальное 😀

treshnyuk #:
Да ладно Вам мерятся "экосистемами" и железом.

Поддерживаю. Каждый вибирает по своим потребностям и возможностям. Вовсе не отрицаю, что когда-нибудь появится ноут, который мне подойдет лучше чем мак и с радостью на него переползу. Пока предпочту переплатить за удобство. Кстати еще два плюса мака - клавиатура( не считая неудачный вариант с бабочкой) и тачпад - с ним вообще  забыл что такое мышь

Сергей Ефимов #:
На ноутбуках также никаких проблем. Чтобы программы висли тоже не припомню.

Рад за твою не виснущую винду. Какой у тебя на сегодня рантайм на твоем буке?

Сергей Ефимов #:
какие-то индивидуальные вещи, на вкусовщину,

Расскажи, какие задачи ты решаешь на своем ьуке, что они упираются в производительность порца/памяти?

Сергей Ефимов #:
когда ты не можешь слушать купленную музыку на другом устройстве

Я любую свою музыку слушаю на любом устройстве - что буке, что айфоне. Что купленную, что закачанную. Но в последнее время отказался даже от спотифая - appleMusic хватает за глаза. А за субтитры им отдельный поклон)

Сергей Ефимов #:
На какую борьбу с глюками ты будешь тратить время?

Докер, нормальная консоль, работа с ключами, сборка либ... все что приходится делать кодеру

Сергей Ефимов #:
Производительность и плюшки у Хуавея

Ты хотя бы свою ссылку сомнительную досмотрел до конца? Бенчмарк по итогу твой Хуавей сливает, а АМД вобще сомнительная вещь в себе.

Ты что пытаешься мне доказать что мак хуже? Не стоил бы он таких денег никогда, точнее, никто бы его не покупал. Понты вещь хорошая но не тут.  Мерс покупают не те, кто хочет понтоваться, а кто понимает, что Солярис и рядом не стоит.

Сергей Ефимов #:
Ну так о чём я и говорю, у тебя задачи специфические.

У меня задачи для рядового программера, не более.  И если с твоим хуавеем я буду тратить время на борьбу с глюками, то Мак я открываю и работаю, еще и удовольствие получаю. О новом проце все отзываются просто отлично

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

Но опять же спор ни о чем, в последний раз повторяю - вот когда годик посидишь на маке - обсудим его недостатки.

Всего: 8319