我的控制器中有三个值,如:
$data['all_video_posts_ByCategory'] = $this->Blogmodel->all_video_posts_ByCategory($cat_id);
$data['all_text_posts_ByCategory'] = $this->Blogmodel->all_text_posts_ByCategory($cat_id);
$data['all_audio_posts_ByCategory'] = $this->Blogmodel->all_audio_posts_ByCategory($cat_id);
在我的视图页面中,我必须在一个foreach循环中显示所有帖子。那么如何合并这三个数据并发送到查看页面?
答案 0 :(得分:0)
由于您将所有数据存储在$ data中
return $data
更好的解决方案是划分这些变量
$data['all_video_posts_ByCategory'] = $this->Blogmodel->all_video_posts_ByCategory($cat_id);
$data['all_text_posts_ByCategory'] = $this->Blogmodel->all_text_posts_ByCategory($cat_id);
$data['all_audio_posts_ByCategory'] = $this->Blogmodel->all_audio_posts_ByCategory($cat_id);
将您的代码更改为
$videos = $this->Blogmodel>all_video_posts_ByCategory($cat_id);
$texts = $this->Blogmodel->all_text_posts_ByCategory($cat_id);
$audio = $this->Blogmodel->all_audio_posts_ByCategory($cat_id);
然后您可以单独返回它们并在您的视图中逐个访问它们
答案 1 :(得分:0)
我建议确保您的模型返回$this->db->get()->result_array();
然后在您的控制器中执行以下操作:
$videos = $this->Blogmodel>all_video_posts_ByCategory($cat_id);
$texts = $this->Blogmodel->all_text_posts_ByCategory($cat_id);
$audio = $this->Blogmodel->all_audio_posts_ByCategory($cat_id);
$data['array'] = array_merge($videos, $texts, $audio);
答案 2 :(得分:0)
如果你想使用相同的逻辑,那么用多维数组做。
$ data ['post'] ['all_video_posts_ByCategory'] = $ this-> Blogmodel-> all_video_posts_ByCategory($ cat_id); $ data [post] ['all_text_posts_ByCategory'] = $ this-> Blogmodel-> all_text_posts_ByCategory($ cat_id); $ data ['post'] ['all_audio_posts_ByCategory'] = $ this-> Blogmodel-> all_audio_posts_ByCategory($ cat_id);
在视图中使用逻辑
foreach($post as $row) { foreach($row as $innerpost) {print your values;} }
为什么选择多维数组,因为如果您希望将来如果您希望单独使用音频,视频和文字帖子,那么
如果你想使用一个foreach循环,那么你需要先在控制器中合并数组,然后才能使用。