两个表之间的关联

时间:2017-08-17 17:16:20

标签: php mysql cakephp cakephp-2.0

我正在使用CakePHP 2.4。

我在数据库中有两个表table1.num和* *table2.num,我需要将它们与连接查询联系起来。

table1.num的前缀为DA,与DA-12929类似,而table2.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',
                        ),
                    ),
                ),
            );

如何在没有前缀的情况下将它们联系起来?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,我只是添加了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)',
                        ),
                    ),
                ),
            );