CakePHP加入多个模式

时间:2015-07-22 20:23:13

标签: php sql-server cakephp cakephp-2.6

目前我正在使用CakePHP连接到SQL Server的应用程序。

在我的SQL数据库中,我有多个模式(而不是多个数据库 - 良好实践)。我如何加入多个模式以在一个响应中获取所有数据?

1 个答案:

答案 0 :(得分:0)

Try this -
$books = $this->Books->find('all',['fields' => ['id' => 'Books.id', 'name' => 'Books.name''category_id' => 'bc.category_id','category' => 'ac.category']])
                ->join([
                    'bc' => [
                        'table' => 'Book_categories',
                        'type' => 'INNER',
                        'conditions' => 'bc.book_id = Books.id'
                    ],
                    'ac' => [
                        'table' => 'All_categories',
                        'type' => 'INNER',
                        'conditions' => 'bc.category_id = ac.id'
                    ]
                ]);

请注意,字段名称被称为关联数组('alias'=>'column ref'),您只能提及列名,但会获取不同数组中不同表的结果(例如,[ac ]数组将包含[category] ​​=>'cat_name')