どうするのがベストなのか悩んでいます。現在、クエリを実行して結果が返されるかどうかを確認しています。結果が返されない場合は NULL を返します。
私のコントローラーでは、その結果セットがオブジェクトであるかNULLであるかにかかわらず、テーブルに送信し、ビューページの行をエコーします。
私のテーブルでは、jquery datatables プラグインを使用しています。送信された値が NULL の場合にデータを処理する方法を理解しようとしています。これにより、foreach ループにヒットしたときにエラーが表示されなくなります。
コントローラ:
$news_articles = $this->news_model->get_news_articles();
$this->data['news_articles'] = $news_articles;
モデル:
/**
* Get news articles
*
* @return object
*/
function get_news_articles()
{
$query = $this->db->get($this->news_articles_table);
if ($query->num_rows() > 0) return $query->result();
return NULL;
}
意見:
$tmpl = array ( 'table_open' => '<table class="table" id="newsarticles-table">' );
$data = array('name' => 'newsarticles', 'class' => 'selectall');
$this->table->set_heading(form_checkbox($data), 'ID', 'Date', 'Title');
$this->table->set_template($tmpl);
foreach ($news_articles as $row)
{
$checkbox_data = array(
'name' => 'newsarticles',
'id' => $row->id
);
$this->table->add_row(form_checkbox($checkbox_data), $row->id, $row->date_posted, $row->article_title);
}
echo $this->table->generate();