Простой синтаксис SQL в Codeigniter - PullRequest
1 голос
/ 15 августа 2011

У меня небольшая проблема с преобразованием этого sql в синтаксис codeigniter.Я могу использовать этот простой SQL и получать результаты, но я должен использовать return $this->db->query($sql, array($param))->result();, который, я думаю, не возвращает массив (хотя не уверен, но я получаю сообщение об ошибке "Не могу использовать объект типа stdClass в качестве массива в ...", и я понятия не имею, можно ли изменить этот запрос, чтобы он возвращал массив, или любой другой обходной путь доступен.) В любом случае, я думаю, что для меня лучше всего следовать синтаксису CI запроса, а затем использовать return $query->result_array(); получить массив результатов из запроса.Я знаю, что это может быть очень простой вещью, но почему-то я не могу понять, как точно преобразовать этот sql в CI-синтаксис.Любая помощь будет оценена.Благодарю.Вот sql ниже.

SELECT dirmast.entryID,dirmast.entryTitle,dirmast.entryShortDesc,dirsec.dirsecRefID 
FROM dirmast,dirsec 
WHERE dirsec.drtext = 'something' 
AND dirsec.dirsecRefID = dirmast.entryID 
GROUP BY dirsec.dirsecRefID

Ответы [ 2 ]

3 голосов
/ 15 августа 2011

Я думаю, что это будет делать то, что вы хотите:

$this->db->select('dirmast.entryID,dirmast.entryTitle,dirmast.entryShortDesc,dirsec.dirsecRefID');
$this->db->from('dirmast');
$this->db->join('dirsec','dirsec.dirsecRefID = dirmast.entryID');
$this->db->where('dirsec.drtext','something');
$this->db->group_by('dirsec.dirsecRefID');
1 голос
/ 15 августа 2011

Если вы хотите, чтобы ваши результаты в массиве, вы делаете ->result_array(), если вы хотите его как объект, вы делаете ->result(). В любом случае, вы можете использовать как активные записи, так и query().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...