2013-12-08 3 views
0

"accounts"라는 필드가있는 데이터베이스 테이블 "transactions"가 있습니다. 현재 데이터 집합에서 모든 null이 아닌 계정 행의 하위 집합을 검색하고 내보기에서 해당 행을 액세스 할 수있는 virtualField로 지정하려고합니다.CakePHP virtualField 모두 null이 아님

class Transaction extends AppModel { 
    public $virtualFields = array(
     "Accounts" => $this->Transaction->find("all", array("conditions" => array("not" => array("Transaction.account" => null)))) 
    ); 
} 

그래서 "계정"이라는 null이 아닌 계정 필드가있는 모든 트랜잭션의 배열을 가져옵니다.

이것은 작동하지 않습니다. "예기치 않은 T_VARIABLE"오류가 발생합니다 ($ this가 마음에 들지 않습니다). 가이드 here을 따르려고했습니다. 나는 중간 수준의 PHP 개발자이고 이것이 나의 첫 번째 진짜 케이크 프로젝트이기 때문에 나는 완전히 잘못 생각할 것이다. 당신이 질의하고있는 모델 내부에있을 때

답변

1

, 당신은 그냥하지 모델 이름을 지정 할 :

$this->find('all'); // when you're inside transaction model 

... 그래서이 시도 :

"Accounts" => $this->find("all", array("conditions" => array("not" => array("Transaction.account" => null)))) 
+0

당신은 아마 맞을거야,하지만 난 여전히 "구문 분석 오류 : 구문 오류, 예기치 않은 T_VARIABLE ... 3 번 줄에있어." 바로 위의 전체 파일 (추가 "트랜잭션 ->"없이 시도한 것입니다.) –

+1

- 그 속성이 너무 일찍 정의되어 모든 호출을 수행 할 가능성이 있습니다. 설명서의이 부분에서 여러분의 생성자가 제안하는 것을 시도해 볼 수 있습니다. http://book.cakephp.org/2.0/en/models/virtual-fields.html#virtual-fields-and-model-aliases –

+0

고마워! –

관련 문제