2017-08-17 60 views
3

我正在使用CakePHP 2.4。两个表之间的关联

我有两个表,table1.num和* *table2.num在数据库中,我需要将它们之间的联接查询。

table1.num有前缀DA,像DA-12929table2.num有前缀DB,像DB-12929

在我的应用程序,我有一个类似加盟

option = array(
       'recursive' => -1, 
       'fields'  => array('Table1.*', 'Table2.*'), 
       'joins'  => array(
        array('table' => 'table2', 
         'alias'  => 'Table2', 
         'type'  => 'INNER', 
         'conditions' => array(
          'Tabe1.num = Table2.num', 
         ), 
        ), 
       ), 
      ); 

我如何在它们之间没有关联前缀?

回答

0

HI我发现了一个解决方案,我只需添加SUBSTRING

option = array(
       'recursive' => -1, 
       'fields'  => array('Table1.*', 'Table2.*'), 
       'joins'  => array(
        array('table' => 'table2', 
         'alias'  => 'Table2', 
         'type'  => 'INNER', 
         'conditions' => array(
          'SUBSTRING(Tabe1.num,4) = SUBSTRING(Table2.num,4)', 
         ), 
        ), 
       ), 
      );