Таблица 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;
}
Возможно, чтобы еще больше прояснить таблицу, я добавил два изображения в текущие таблицы.


Подробнее здесь: https://stackoverflow.com/questions/332 ... nother-tab
Мобильная версия