В настоящее время я собираюсь создать небольшую игру, чтобы узнать, какая активная запись (codeigniter) и php. Поэтому я совершенно новичок в этом.Codeigniter, активная запись, присоединение
И, конечно, я столкнулся со следующей проблемой на дороге.
Задача состоит в том, у меня есть две таблицы, User_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).
Возможно, в дальнейшем очистить таблицу я добавил два изображения с текущими таблицами
я думаю, вы должны использовать право присоединиться (не слева) –
Уже попробовал это, к сожалению, это не проблема :( –
использовать $ this-> db-> last_query(); чтобы получить последний запрос, который был запущен после этого, вам нужно играть с запросом в phpmyadmin или аналогичном приложении mysql, чтобы получить des ired проблема. На самом деле ваша проблема не переписывается в код, связанный с запросом. – siddhesh