为了账号安全,请及时绑定邮箱和手机立即绑定

如何在查询中连接两个表,其中要连接的表的名称是第一个表中的值

如何在查询中连接两个表,其中要连接的表的名称是第一个表中的值

PHP
qq_遁去的一_1 2023-12-15 17:12:18
我有两个查询将 4 个表连接在一起。第四个表是从第一个表读取的值。到目前为止,我一直将该值读入一个变量,然后在第二个查询中使用该变量,但我想知道是否可以将其合并到一个查询中。这是我的查询($node_type_name 是从调用函数传入的):$this->read_db->select('id, head_node_id, data_table_name');    $this->read_db->from('node_type');    $this->read_db->where('name', $node_type_name);    $Q = $this->read_db->get();    $table_name = $Q->row_array()['data_table_name'];    $field_name = $table_name . '.node_id';    $this->read_db->select('node.id, node.name, node.is_head_node, node.node_type_id, node_link.parent_node_id, ' . $table_name . '.id, ' . $table_name . '.node_id');    $this->read_db->from('node');    $this->read_db->join('node_link', 'node_link.child_node_id = node.id');    $this->read_db->join($table_name, $field_name . ' = node.id');    $M = $this->read_db->get();该函数是一个通用函数,因此某人可以将 locations 发送到 $node_type_name 或 organizations,并且查询将加入与这些名称关联的表。目前只有两种“类型”,但我们将来可能会添加更多,因此该功能需要是通用的。
查看完整描述

1 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

最后,我创建了一个单独的函数,用于获取对象中的第一个查询,然后将其传递到第二个函数中。



查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信