php - 数据库 Codeigniter 查询
问题描述
我在从数据库中仅针对 Code Igniter 中的给定记录提取数据时遇到问题。
在我的应用程序中,我有可以添加评论的域 - 一切都不堪重负。
我可以添加、编辑、删除域和注释。
但是,当我踩到出现的任何域卡时,所有注释,我只想显示所选域的注释。
我认为问题出在 SQL 查询方面——它必须比较两个表:来自 domain 表的id和来自notes 表的id_rel_domain。
但是,我不知道如何接受它。
我在 ALTER TABLE数据库的 SQL FOREIGN KEY 中有一个链接关系:notes.id_domain_rel 与 domain.id。
我的代码(CodeIgniter)
我的控制器:
public function get($id = false)
{
$result = $this->notes_model->get($id);
echo '{"records":' . json_encode( $result ) . '}';
}
我的模型:
public function get( $id = false)
{
if ( $id == false ) {
$q = $this->db->get('notes');
$q = $q->result();
}
else{
$this->db->where('id', $id);
$q = $this->db->get('notes');
$q = $q->row();
}
return $q;
}
编辑笔记需要第二个条件 - 因为它获取了他们的 ID。但是,第一个显示所有域的所有注释。
在我看来,我必须补充:
$this->db->where('notes.id_domain_rel', $domain.id);
但是,我想念如何去做。
获取所有域的数据,而不是我查看的域的数据。
解决方案
这可能是条件检查的问题。尝试在 if 语句中使用=== 。或使用NULL而不是布尔值。
public function get( $id = false)
{
if ( $id === false ) {
$q = $this->db->get('notes')->result();
}
else{
$q = $this->db->where('id', $id)->get('notes')->row();
}
return $q;
}
推荐阅读
- python - 从数据框中读取网络链接会引发“过时的元素引用:元素未附加到页面文档”错误
- react-native - 如何在屏幕之间重新启动 react-native-reanimated 动画切换?
- python - 为什么 tweepy 中 api.search_tweets 的 count/n 参数限制为 100?
- python - 尝试制作一个 for 循环,将我的数据集 Python 中每四个数字相加的连续数字
- javascript - 在 JavaScript 中更改 Response 对象
- c# - 使用 Linq 时出现“System.NullReferenceException”错误
- powershell - 在 Linux 上进行远程处理时如何转发 Powershell.Exiting 事件
- r - 将数据帧中每一行的向量分成两半
- javascript - 如何通过 Chrome 扩展程序实时使用 Google Docs?
- c# - 从列表框 1 中查找偶数并显示在列表框 2 中,同时在列表框 3 中显示奇数