我想弄清楚是否有办法正确连接我的模型以实现以下目标:
我有 3 张桌子,客户 -> 倡议 -> 里程碑。
在客户中,我有:
public $hasMany = array( 'Initiative' );
在倡议模型中,我有:
public $belongsTo = 'Client';
public $hasMany = 'Milestone'
里程碑有:
public $belongsTo = 'Initiative';
使用公共 $recursive = 2; 在客户端模型中,我能够获得嵌套在结果倡议中的里程碑,所以它们看起来像这样......
array(2) {
["Client"]=>
array(3) {
["id"]=>
string(1) "3"
["name"]=>
string(17) "Company"
}
["Initiative"]=>
array(5) {
[0]=>
array(8) {
["id"]=>
string(1) "6"
["client_id"]=>
string(1) "3"
["Milestone"]=>
array(4) {
[0]=>
array(6) {
["id"]=>
string(1) "1"
["initiative_id"]=>
string(1) "6"
}
[1]=>
array(6) {
["id"]=>
string(1) "2"
["initiative_id"]=>
string(1) "6"
}
或者使用简写:
result
[client]
[initiative]
[milestone]
但为了方便起见,我想要的是让模型返回里程碑,因为它是自己的数组,没有嵌套在倡议中。所以,
result
[client]
[initiative]
[milestone]
我想我需要在我的模型中设置某种自定义查询。我怎样才能做到这一点?