Запрос CodeIgniter SELECT для дисквалификации записей в одной таблице на основе другой таблицы [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Запрос CodeIgniter SELECT для дисквалификации записей в одной таблице на основе другой таблицы [дубликат]

Сообщение Anonymous »

У меня есть две таблицы: User_Heroes и Heroes.
Таблица Heroes содержит всех героев, которых пользователь может выбрать во время игры (которые принадлежат его фракции), а User_Heroes — это таблица героев, которых пользователь уже завербовал себе на службу.
Я хочу сделать запрос который возвращает список героев, которых нет в штате текущего пользователя.
Чтобы просто получить их всех, я бы сделал это

Код: Выделить всё

public function get_faction_heroes($sUser, $hero_faction)
{
$oQuery = $this->db
->select('id,hero_name,hero_faction,hero_type,hero_cost,hero_maintenance,hero_allowed')
->like('hero_faction', $hero_faction)
->get('heroes')
->result();
return $oQuery;
}
В настоящее время у меня есть следующий запрос, но, очевидно, он неверен, поскольку он не возвращает список, как я ожидаю.

Код: Выделить всё

public function get_faction_heroes($sUser, $hero_faction)
{
$oQuery = $this->db
->select('h.id,h.hero_name,h.hero_faction,h.hero_type,h.hero_cost,h.hero_maintenance,h.hero_allowed')
->like('h.hero_faction', $hero_faction)
->where_not_in('u.hero_id', $sUser)
->where('h.hero_allowed >', 1)
->join('user_heroes u', 'u.hero_id = h.id', 'left')
->get('heroes h')
->result();
return $oQuery;
}
Как вы могли заметить, некоторых героев можно нанимать несколько раз (hero_allowed > 1).
Возможно, чтобы еще больше прояснить таблицу, я добавил два изображения в текущие таблицы.
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/332 ... nother-tab
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»