Php 关系型sql数据库

Php 关系型sql数据库,php,mysql,codeigniter,grocery-crud,Php,Mysql,Codeigniter,Grocery Crud,我使用crud进行简单的SQL选择 $crud->set_table('lista_ab'); $crud->set_relation('id_ab','lista_ab_term','Expire'); 问题是它没有建立“id_ab”的关系 我的数据库看起来 CREATE TABLE `lista_ab` ( `id_ab` int(10) NOT NULL, `Subname` varchar(255) DEFAULT NULL, `Name` varchar(25

我使用crud进行简单的SQL选择

$crud->set_table('lista_ab');
$crud->set_relation('id_ab','lista_ab_term','Expire');
问题是它没有建立“id_ab”的关系

我的数据库看起来

CREATE TABLE `lista_ab` (
  `id_ab` int(10) NOT NULL,
  `Subname` varchar(255) DEFAULT NULL,
  `Name` varchar(255) DEFAULT NULL,
  `Inregistrat` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `lista_ab_term` (
  `ID` int(10) NOT NULL,
  `id_ab` int(10) DEFAULT NULL,
  `Expire` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

最后,我想提取子名称并过期。

您不能创建下拉列表并显示第一个表的字段名:
Subname
,但您可以从另一个表中调用任意多的字段,语法非常简单。 就在第三个字段,您将有符号{和}。例如:

$crud->set_关系('id_ab','lista_ab_term','Expire}-{id}');

对于预期的结果,您可以像这样使用连接查询:

SELECT t1.Subname, t2.Expire FROM lista_ab t1 LEFT JOIN lista_ab_term t2 ON t1.id_ab = t2.id_ab
或者在Codeigniter中

$this->db->select('lista_ab.Subname, 
                   lista_ab_term.Expire');
$this->db->from('lista_ab');
$this->db->join('lista_ab_term', 'lista_ab.id_ab= lista_ab_term.id_ab');
$q = $this->db->get();

你期望的结果是什么,请提供更多详细信息?我想显示“lista_ab”中的子名称,并从“lista_ab_term”中过期,与id有关。如果可能,请导出这两个表并与我们共享?它们已经在上面的问题中。请检查我的回答是否使用crocery crud-因此问题与CI的querybuilder或任何本机查询无关。。。