我试图通过一组连接表构建一个动态查询.这些生成动态别名以避免冲突(非唯一别名).
但是,在我的连接表中 - 我有一些未被处理的virtualFields.经过进一步检查,似乎__construct()
没有调用连接表函数.
有没有办法virtualFields
在CakePHP v2.2.8中加入连接表?
谢谢
手动连接不会使用您的模型.使用手动连接,您手动定义连接并为其添加别名.虽然此别名可能与现有模型相同,但CakePHP不会将您的模型用于连接表.
如果您需要virtualFields,根据使用的"数据",您可以将virtualField移动到您要查询的"main"模型,例如:
$this->Foo->virtualFields['foobar'] = 'CONCAT(\'Hello \', Bar.name)';
$foo = $this->Foo->find(
'all',
array(
'fields' => array(
'Foo.name',
'Foo.foobar',
),
'joins' => array(
array(
'table' => 'bars',
'alias' => 'Bar',
'type' => 'INNER',
'conditions' => array(
'Bar.id = Foo.bar_id',
)
)
),
'recursive' => -1
)
);
debug($foo);
Run Code Online (Sandbox Code Playgroud)
返回;
array(
(int) 0 => array(
'Foo' => array(
'title' => 'Foo One',
'foobar' => 'Hello World'
)
),
(int) 1 => array(
'Foo' => array(
'title' => 'Foo Two',
'foobar' => 'Hello Planet'
)
),
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
855 次 |
最近记录: |