Sly32

Рейтинг
372
Регистрация
29.03.2012
LEOnidUKG #:

Эм... ну формируйте запросы соединяя их. Будет два запрос, один на первую таблицу, второй на вторую.

Я видимо непонятно обьяснил задачу 

Мне видится неправильный ответ и соответственно - некорректный вопрос. 

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

Суть отступления - поставить цель. Если реклама - значит нужна тематика, в которой вы будете конкурентны, котороая в топах по запросам и есть возможность отхватить трафик. Может вы хорошо разбираетесь в резьбовых соединениях, но многим ли нужна эта информация? Значит нужно искать смежные отрасли, которые вы легко освоите  и сможете выдавать полезный контент, пользующийся спросом.

А ломать ноги для достижения непонятного результата - глупо. Вы, может и покорите Эверест, но дальше -то вам жить без ног...

limyh #:

это ж сколько оперативы нужно брат?))

К меня всего 16 гигов и браузеры не единственное что постоянно висит. Тимс, телега, вайбер , слак. Постман, пайчарм, Аутлук - это минимальный набор, стартующий при загрузке

Dram #:
Все спасибо - кеш браузера был виноват

В консоли разработчика браузера отключите кэш и держите ее открытой. 

Открыт хром с 51 вкладкой, плюс всегда висит сафари - никаких тормозов, на что вы все вечно жалуетесь?

v_ovan #:

Git мне моцк вскрыл. Два раза пытался понять как с этим работать, нифига.

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

Вам для работы с гитом нужно всего буквально десяток команд - можно выучить даже на китайском. А плюсы очевидны.

Я в принципе говорю про контроль версий - гит, ртуть, свн - не важно, это кому что удобно, но жизнь облегчает конкретно 

Каширин #:

В эпоху Git копировать файлы вручную на локальный компьютер можно только в лаптях и под свет лучины ;)

Вы что, храните в Гите бэкапы?

Katrin1988 #:
Почитала про Git.
Katrin1988 #:
Если у меня десяток сайтов на WP и DLE то как я могу использовать гит?

Это потому что вы все-таки НЕ прочитали про гит - он именно для такого! Забываете про ФТП, настраиваете CI/CD, Jenkins какой и наслаждаетесь моментальными апдейтами кода на продакшене  с минимальными усилиями, возможностью быстро откатиться, если что-то пошло не так и прочими плюшками

ArbNet #:
Данные сущности могут браться из разных таблиц, связи я могу прописывать и в классе, но для целостности данных думаю в самой базе устанавливать связи таблиц и потом двиг эти связи мог определять и формировать нужный запрос.

Обычно класс - это просто модель таблиц, и если ты точно знаешь что должно быть - надежнее сделать связи в БД. Это и быстрее и проще написать обертку аля ОРМ, которая потом твои сущности будет собирать. При это в некоторых ситуациях это необходимо. Также поможет сократить количество запросов. Но опять же - ты можешь взять ОРМку от того же Ларавел/Симфони и допилить ее под свои нужды. Времени займет меньше, результат будет лучше. 

Допустим, есть таблица

CREATE TABLE form (
    id SERIAL NOT NULL,
    name VARCHAR NOT NULL,
    origin_doc_link VARCHAR,
    document_type VARCHAR,
    is_active BOOLEAN,
    fields_config JSON,
    state state,
    created_at TIMESTAMP WITHOUT TIME ZONE,
    updated_at TIMESTAMP WITHOUT TIME ZONE,
    draft BOOLEAN,
    PRIMARY KEY (id),
    UNIQUE (name),
    UNIQUE (origin_doc_link)
);

CREATE TABLE product_type (
id SERIAL NOT NULL,
name VARCHAR,
display_name VARCHAR,
is_default BOOLEAN,
PRIMARY KEY (id)
);

CREATE TABLE form_product_types (
id SERIAL NOT NULL,
form_id INTEGER,
product_type_id INTEGER,
is_checked BOOLEAN,
PRIMARY KEY (id),
FOREIGN KEY(form_id) REFERENCES form (id) ON DELETE CASCADE,
FOREIGN KEY(product_type_id) REFERENCES product_type (id) ON DELETE CASCADE
);


Тебе надо выбрать форму и все продукт тайпы по айди

Тогда это будет примерно так:

SELECT form.name, form.document_type, pt.name, pt.display_name, pt.is_default
FROM form
         JOIN form_product_types as fpt ON form.id = fpt.form_id
         JOIN product_type as pt ON fpt.product_type_id = pt.id
WHERE form.id = 18;


Это крайне примитивный пример,  но приниип такой - джойнишь нужные таблицы и собираешь ответ.

Любая ОРМ это сделает проще и понятнее, но ты же противник)

Такие простые запросы довольно редко встречаются в реальной жизни.

SeVlad #:
от "женской беллетристики"

Как раз для тебя чтиво

Всего: 7407