两个表之间的关系

3

我正在使用CakePHP 2.4。

我有一个数据库中的两个表,table1.numtable2.num。我需要用join查询来关联它们。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接