クエリの結果をさまざまなdivのビューに表示しようとしていますが、result()関数がオブジェクトを返すことを正しく理解している場合、結果を表示する方法をellislabで読んでいます。これが私のモデルです。
モデル
function get_post(){
$this->db->select(*);
$this->db->order_by('date_time', 'desc');
$this->db->limit(2);
$results = $this->db->get('post');
if($results->num_rows()<1){
return false;
}
else{
return $results->result();
}
}
そして、これは私のコントローラーが行うことです:
コントローラ
foreach($results as $res){
$data['post_signature'] = $res->signature;
$data['post_title'] = $res->title;
$data['post_article'] = $res->article;
$data['post_date'] = date('d-M-Y', strtotime($res->date_time));
$data['post_time'] = date('H:i', strtotime($res->date_time));
}
私の見解で示したいのは、あるdivでの一連の結果と、別のdivでの2番目の結果です。
<div id="1">First Result</div>
<div id="2">Second Result</div>
私がやろうとしたのは、クエリ結果全体をビューに渡し、次のようにforeachを使用することでした。
<?php foreach ($results as $res)
<div id="1">First Result</div>
<div id="2">Second Result</div>
?>
明らかに、このアプローチの問題は、このforeachが両方のdivを複製するだけであり、最初の結果を最初のdivに、2番目の結果を2番目のdivに配置したいということです。また、foreachをコントローラーに変更し、forステートメントを使用して、返されたすべてのパラメーターをデータ配列に保存することも考えましたが、いくつかの理由で、これは非常に非効率的です。
より良い解決策があることを願っています。