php - 为什么我的模型只传递单行而不是所有行?
问题描述
我正在我的模型中运行一个查询,该查询根据前一个查询的其他结果返回结果,该查询工作得很好,但是它只返回一行而不是它应该返回的所有行。
我试过$rows[]
在数组中返回,但这不起作用,查询不会根据第一个查询生成任何结果,正如我所说,必须有一种方法可以在控制器中创建这些数组给定我返回result_array();
。
模型
public function category_id_results($category) {
return $this->db->
select('*')->
from('categories')->
where('parent_id', $category)->
get()->result_array();
}
public function category_results($category, $id) {
print_r($id);
$where = "category_id='$id' OR category_id='$category'";
$this->db->where($where);
$query = $this->db->get('records');
$rows = array();
foreach ($query->result_array() as $row) {
$rows[] = array(
//Rows
);
}
return $rows;
}
控制器
$this->load->model('Main');
$category = $_GET["category"];
$data['id_cat'] = $this->Main->category_id_results($category);
echo "<pre>";
print_r($data['id_cat']);
echo "</pre>";
$id = $data['id_cat']['id'];
$data['category_results'] = $this->Main->category_results($category, $id);
当我运行 a 时,print_r($data['id_cat']);
我得到了预期的输出(所有行),但它确实告诉我id
索引未定义。此外,当我这样做时,我的查询也无法正常工作。
解决方案
如果想要所有记录而不是单行,您可以尝试这样
$where = "category_id='$id' OR category_id='$category'";
$this->db->where($where);
$query = $this->db->get('records')->result_array();
推荐阅读
- scala - 如何创建具有特定版本的 Play 项目?
- awk - 如何使用 sed 仅打印文件中紧接在空行之前的行?
- ruby-on-rails - 使用 rbenv 或 rvm 在 Mojave OSX 上安装 Ruby 2.3.1
- iis - IIS 中的本地 VS 继承页面
- postman - 尝试更新松弛频道上的主题时,我得到`method_not_supported_for_channel_type`
- django - 如何使用django-ckeditor为不同的模型指定不同的图片上传路径?
- python - 当 C++ 程序正在读取文件而单独的 python GUI 脚本正在写入同一文件时,会发生分段错误
- jquery - 让两个奇怪大小的元素响应地位于想象容器的中心和边缘
- c# - 如何使用从抽象类继承的字段为每个实体创建一个额外的表
- google-apps-script - 检查一个单元格的值,相应地更改另一个单元格的值,以及发送电子邮件