sql - 如何在 CodeIgniter 中使用 JOIN 和 get_where 子句
问题描述
在通过发送 Id 从上一个表 UI 单击“打开”按钮后,我试图从两个表中获取数据。例如
<a name="Open" href="<?php echo base_url('welcome/WellProfile/'.$post->Id) ?>">
所以我有两个表 - 即 "WellDataA" 和 "WellDataB" ,我想通过 WellName(column) 获取 WellDataB 数据与 WellDataA 匹配的数据。
Example:
WellDataA:
Id Platform WellName
.
.
4 ZE ZE-A
5 ZE ZE-B
6 ZE Ze-B
.
.
WellDataB:
Id WellName CompleteDate
1 ZE-A 12/3
2 ZE-B 14/5
3 ZE-C 20/6
到目前为止,这就是我的查询方式,但最终出现错误
public function get_news_by_id($Id = 0)
{
if ($Id === 0)
{
$query = $this->db->get('WellDataA');
return $query->result_array();
}
$this->db->select('*');
$this->db->from('WellDataA');
$this->db->join('WellDataB','WellDataA.WellName =
WellDataB.WellName','INNER');
$query = $this->db->get_where('WellDataA', array('Id' => $Id));
return $query->row_array();
}
我希望在 ZE-A 上单击“打开”按钮时输出将显示 ZE、ZE-A、12/3。但实际输出的是ZE,ZE-A而已。提前非常感谢你!:)
解决方案
首先,如果我的解决方案不是一个好的解决方案,我很抱歉,但我建议您将表格的结构更改为:
WellDataA:
Id Platform WellDataB
.
.
4 ZE 1
5 ZE 2
6 ZE 3
.
.
WellDataB:
Id WellName CompleteDate
1 ZE-A 12/3
2 ZE-B 14/5
3 ZE-C 20/6
由于我假设使用的模型是关系模型,因此必须首先实现的一件事是使表全部具有关系。而不是将 WellDataA 和 WellDataB 与 WellDataA 内部的 WellDataB 中的 Id 连接起来。
推荐阅读
- java - Spring Boot JPA .save() 更新所有记录
- javascript - 将对象数组转换为具有键值的数组
- go - 如何与本地主机上的mysql服务器建立连接?
- go - Golang fsnotify 在 Windows 上为同一个文件发送多个事件
- java - selenium如何知道一个元素是否有href链接,如果没有继续测试
- capl - 在消息事件上使用消息名称
- c# - 使用 Windows 窗体的 PrintDocument 直接将 WPF FlowDocument 保存为 PDF 文件
- php - WordPress - 如何在 get_the_content() 的第一段之后添加内容
- r - 如何将矩阵列作为参数传递给 .apply 函数?
- c# - 生成 asp-core 特定的 html 代码,包括 asp-attributes