나는 다음과 같은 모델이 : 나는 $this->Sync->find('all')
내가 배열을 다시 거의 방법을 얻을 할 경우CakePHP의 모델 자체에 참여하는 방법과 올바른 배열을 검색 할 수
App::uses('AppModel', 'Model');
class Sync extends AppModel {
public $belongsTo = array(
'Unit' => array(
'className' => 'Sync',
'foreignKey' => 'parent_id'
)
);
public $hasMany = array(
'Consultant' => array(
'className' => 'Sync',
'foreignKey' => 'parent_id'
)
);
}
내가 원하는 그것을 :
Array
(
[0] => Array
(
[Sync] => Array
(
[id] => 22222
[parent_id] => 22222
[statistic_date] => 2012-11-14 00:00:00
)
[Unit] => Array
(
[id] => 22222
[parent_id] => 22222
[statistic_date] => 2012-11-14 00:00:00
)
[Consultant] => Array
(
[0] => Array
(
[id] => 11111
[parent_id] => 22222
[statistic_date] => 2011-12-15 00:00:00
)
[1] => Array
(
[id] => 33333
[parent_id] => 22222
[statistic_date] => 2011-12-14 00:00:00
)
)
)
)
문제는 컨설턴트에게 조건을 부여하기 위해서입니다. 이처럼 :이 양식에
Array
(
[0] => Array
(
[Unit] => Array
(
[id] => 22222
[parent_id] => 22222
[statistic_date] => 2012-11-14 00:00:00
)
[Consultant] => Array
(
[id] => 11111
[parent_id] => 22222
[statistic_date] => 2011-11-15 00:00:00
)
)
[1] => Array
(
[Unit] => Array
(
[id] => 22222
[parent_id] => 22222
[statistic_date] => 2012-12-14 00:00:00
)
[Consultant] => Array
(
[id] => 33333
[parent_id] => 22222
[statistic_date] => 2011-12-14 00:00:00
)
)
)
내가 원하는 :
$this->Sync->Consultant->find('all', array(
'conditions' => array(
'Consultant.statistic_date BETWEEN ? AND ?' => 'array(
'2011-12-01 00:00:00', '2011-12-31 00:00:00'
)'
)
))
그러나 그것은 나에게 다시 원하는 배열을 제공하지 않습니다
Array
(
[0] => Array
(
[Unit] => Array
(
[id] => 22222
[parent_id] => 22222
[statistic_date] => 2012-11-14 00:00:00
)
[Consultant] => Array
(
[0] => Array
(
[id] => 11111
[parent_id] => 22222
[statistic_date] => 2011-12-15 00:00:00
)
[1] => Array
(
[id] => 33333
[parent_id] => 22222
[statistic_date] => 2011-12-14 00:00:00
)
)
)
)
당신은 어떻게 그것을 달성합니까? 내가 생각할 수있는 가능한 해결책은 contain 또는 Hash :: class를 사용하는 것이지만 어떻게해야할지 모르겠다.
모든 문제에 대한 도움을 주시면 대단히 감사하겠습니다.
[Sync] 및 [Consultant] 배열을 결합하여 사용자 정의 루프가 아닌 모델 변경을 통해 하나의 결합 된 배열을 얻을 수있는 방법이 있습니까? –