У меня есть модель CI, настроенная с помощью этой функции, и ActiveRecord:
function get_open_competitions()
{
$this->db->select('*, TO_DAYS(closingdate) - TO_DAYS(CURDATE()) AS days')
->from('challenges')
->where('closingdate >','CURDATE()')
->order_by('days','asc');
$query = $this->db->get();
return $query;
}
Я на 99,9% уверен, что запустит этот запрос:
SELECT *, TO_DAYS(closingdate) - TO_DAYS(CURDATE()) AS days
FROM challenges
WHERE closingdate > CURDATE()
ORDER BY days ASC
Когда я отправляю этот простой запрос через phpMyAdmin или Sequel Pro, возвращает 5 строк - как и ожидалось - из базы данных. Однако, когда я вызываю в challenges
контроллер следующий код:
function index()
{
// Fetch the Open for Entry competitions
$data['open'] = $this->cm->get_open_competitions();
// Fetch the Open for Voting competitions
$data['voting'] = $this->cm->get_voting_competitions();
// Fetch the Ended Competitions
$data['ended'] = $this->cm->get_ended_competitions();
$data['colwide'] = 'challenges/challengeshome';
$this->load->view('templatewide',$data);
}
... А затем в файле вида вызовите его вот так ...
<h2>Open for Entry</h2>
<hr/>
<?php foreach ($open->result() as $row) { ?>
<h3>
<?php echo anchor('challenges/view/'.$row->id, $row->title);?> -
<i>Challenge ends and voting begins in <?php echo $row->days;?> days</i>
</h3>
<h4> <?php echo $row->description;?> </h4>
<?php } ?>
... ничего не выводится!
Это сбивает меня с толку, потому что я уверен, что у меня есть правильный запрос, а также у меня есть две другие функции Model - get_ended_competitions
и get_voting_competitions
- обе из которых я использую наряду с этим, которые работают хорошо. Код определенно не отличается.
Что я делаю не так ?! : S
Спасибо!
Jack
Редактировать: ничего не записывается ни в журнал CodeIgniter, ни в журнал ошибок PHP.