MySQL Active Record проблема - PullRequest
       10

MySQL Active Record проблема

0 голосов
/ 05 августа 2010

Я использую MySQL ActiveRecord с CodeIgniter для отправки запросов, но столкнулся с некоторыми трудностями при использовании функции "select". Например, этот запрос MySQL прекрасно работает в phpMyAdmin:

SELECT review_id, firms_name
FROM reviews AS r
JOIN firms AS f ON f.firms_id = r.review_target_id
WHERE r.review_id =3
ORDER BY r.review_timestamp DESC
LIMIT 0 , 30

Это дает мне две колонки, именно то, что мне нужно.

Однако, это дает мне только один столбец "review_id":

$this->db->select('review_id', 'firms_name');
$this->db->from('reviews as r');
$this->db->join('firms as f', 'f.firms_id = r.review_target_id');
$this->db->where('r.review_id', $id);
$this->db->order_by('r.review_timestamp', 'desc');
$query = $this->db->get();

Если я удалю предложение «select», я получу всю необходимую информацию, но хотел бы понять, что я делаю неправильно, и как я могу уменьшить нагрузку на мою базу данных. Есть мысли?

1 Ответ

3 голосов
/ 06 августа 2010
$this->db->select('review_id', 'firms_name');

должно быть написано так (имена столбцов должны быть одной строкой):

$this->db->select('review_id, firms_name');

Кроме того, помните, что вы всегда можете использовать $this->db->last_query(); для вывода последнего запроса, который был выполнен, так что вы можете видеть точное выполнение оператора SQL.

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