Базы данных продуктовых отношений SQL - PullRequest
0 голосов
/ 09 мая 2018

Я использую Grocery-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 и Expire.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вы можете использовать запрос на соединение следующим образом для ожидаемых результатов:

SELECT t1.Subname, t2.Expire FROM lista_ab t1 LEFT JOIN lista_ab_term t2 ON t1.id_ab = t2.id_ab

или в кодеигниторе

$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();
0 голосов
/ 09 мая 2018

Вы не можете создать выпадающий список и показать имя поля первой таблицы: Subname, но вы можете иметь столько полей, сколько хотите вызвать из другой таблицы, и синтаксис действительно прост. Просто на 3-м поле у ​​вас будет символ {и}. Так будет например:

$crud->set_relation('id_ab','lista_ab_term','{Expire} - {ID}');

...