Не могу разобраться с создание запроса sql

166
04 ноября 2019, 04:40

Я не силен в sql поэтому не могу понять куда копать и реально ли такой запрос создать?

Входные данные:

site_id, category

Описание таблиц:

таблица1 = список с постами (id, title, content)

таблица2 = архив с данными о опубликованных постах (id, site_id, post_id, category)

таблица3 = список сайтов

Задача:

выбрать запись из таблица1 если в таблица2 не содержится записи с полями (site_id и category и таблица1->post_id)

т.е. при каждой публикации, в таблица2 создается запись с данными (site_id, post_id, category, time) и нужно чтобы при следущем запросе (при тех же входных данных) на публикацию, выдача из таблицы1 не повторялась

Пока только так придумал:

    $site = ConfigSite::findOne(['id' => $site_id]);
    $archive = Archive::findAll(['id_site' => $site->id, 'category' => $category_title]);
    $posts = Archives::findAll(['category' => $category_title, 'status' => 1]);
    foreach($posts as $post) 
    {
        foreach($archive as $arch) 
        {
            if($post->id === $arch->id_post)
                continue 2;
        }
        $item = $post;
    }

Но через пару недель работы такие процедуры буду занимать много времени

Answer 1
$items = Archive::find()->alias('a')
            ->leftJoin('posts p', 'p.id = a.id_post')
            ->andWhere(['a.id' => $site->id])
            ->andWhere(['p.id' => null])
            ->all();
READ ALSO
Вывод своей ячейки в корзине Woocommerce

Вывод своей ячейки в корзине Woocommerce

уже неделю мучаюсь не могу не как найти решение! =( Проблема в следующем - есть интернет магазин на Woocommerce в базе данных я создал новый столбец...

158
xlsxwriter.class.php

xlsxwriter.class.php

Есть класс для работы с excel https://githubcom/mk-j/PHP_XLSXWriter

182
Telegram Deep Linking парсинг параметра

Telegram Deep Linking парсинг параметра

Есть конструкция которая парсит команду /start в телеграм боте c параметрами

154
Как сохранть значение выведенное через echo в переменную?

Как сохранть значение выведенное через echo в переменную?

Столкнулся с одной проблемой, на первый взгляд все не простоПредлагаю два есть две вариации вопроса

163