как выбрать все кампании кроме (уже понравившиеся) с помощью codeigniter v3
Таблицы:
кампании (id, user_id, post_id, post_url, количество, статус)
понравившиеся_посты (id, user_id, post_id, статус)
ожидаемый SQL-запрос
SELECT
*
FROM
`campaigns`
WHERE post_id NOT IN
(SELECT
post_id
FROM
`liked_posts`
WHERE user_id like '-NgAN8gGt-9Kna5QKJvJ'
AND status = 1)
мой код (не работает + есть 2 отдельных запроса)
$_client = $params['client'] ;
$already_liked = $this->model->get (" GROUP_CONCAT(CONCAT('''', post_id, '''' )) as liked", $this->tb_liked_posts, ['user_id'=> $_client->user_id,'status'=>'1' ]);
if( $already_liked->liked ){
$already_liked_list = $already_liked->liked;
}else{
$already_liked_list = '' ;
}
$already_liked = explode(",",$already_liked_list) ;
$this->db->select(self::entity_fields['campaigns']);
$this->db->select('u.*');
$this->db->from($this->tb_campaigns . ' cmp');
$this->db->join($this->tb_users." u", "u.user_id = cmp.user_id", 'left');
$this->db->where_not_in('cmp.post_id', $already_liked );
$query = $this->db->get();
$campaign_list = $query->result();
Подробнее здесь: https://stackoverflow.com/questions/782 ... eady-liked
Как выбрать все кампании, кроме (уже понравилось) [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1769114088
Anonymous
как выбрать все кампании [b]кроме[/b] (уже понравившиеся) с помощью [b]codeigniter v3[/b]
Таблицы:
[b]кампании[/b] (id, user_id, post_id, post_url, количество, статус)
[b]понравившиеся_посты[/b] (id, user_id, post_id, статус)
[b]ожидаемый SQL-запрос[/b]
SELECT
*
FROM
`campaigns`
WHERE post_id NOT IN
(SELECT
post_id
FROM
`liked_posts`
WHERE user_id like '-NgAN8gGt-9Kna5QKJvJ'
AND status = 1)
мой код (не работает + есть 2 отдельных запроса)
$_client = $params['client'] ;
$already_liked = $this->model->get (" GROUP_CONCAT(CONCAT('''', post_id, '''' )) as liked", $this->tb_liked_posts, ['user_id'=> $_client->user_id,'status'=>'1' ]);
if( $already_liked->liked ){
$already_liked_list = $already_liked->liked;
}else{
$already_liked_list = '' ;
}
$already_liked = explode(",",$already_liked_list) ;
$this->db->select(self::entity_fields['campaigns']);
$this->db->select('u.*');
$this->db->from($this->tb_campaigns . ' cmp');
$this->db->join($this->tb_users." u", "u.user_id = cmp.user_id", 'left');
$this->db->where_not_in('cmp.post_id', $already_liked );
$query = $this->db->get();
$campaign_list = $query->result();
Подробнее здесь: [url]https://stackoverflow.com/questions/78269222/how-to-select-all-campaigns-except-already-liked[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия