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

  • 本文关键字:第一个 查询 两个 php mysql codeigniter
  • 更新时间 :
  • 英文 :


我有两个将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_nameorganizations,并且查询将与与这些名称相关联的表连接。现在只有两个";类型";,但我们将来可能会添加更多,因此函数需要通用。

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

相关内容

  • 没有找到相关文章

最新更新