처리 상태를 결정하는 2 개의 필드가있는 송장 모델이 있습니다. 하나는 technician_id이고 하나는 date_processed입니다. 그들은 모두 약간 다른 것들에 사용되며, 각각 null 일 수 있습니다.CakePHP - 예상 결과를 반환하지 않는 조건 찾기
date_processed가 null이고 technician_id가 null이거나 현재 사용자의 ID와 동일한 인보이스를 모두 가져 오려고합니다.
나는 내가하고있는 것을 알고 있다고 생각했지만 분명히 나는 금요일에 머리를 쓰거나 뭔가를 할 수 있었는데, 나는 그것을 작동시킬 수 없었기 때문에. 그 곳 technician_id을
$conditions = array(
'Invoice.date_processed' => null,
'OR' => array(
'Invoice.technician_id' => null,
'Invoice.technician_id' => $user_id
)
);
그러나, 이들 모두 만 송장을 반환 technician_id가 USER_ID와 일치하지 :
$conditions = array(
'Invoice.date_processed' => null,
'Invoice.technician_id' => array(null, $user_id)
)
);
나는 또한 시도했다 : 여기에 내가 지금 무슨이다 는 null입니다 (date_processed 필드가 올바르게 필터링 됨).
누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까?
먼저 조건을 작성한 다음 찾기 위해 지정하십시오. 당신이 null 조건을 제거 할 필요가 있다는 것을 명심하십시오 – Fury
들여 쓰기가 어렵습니다 ... [** the docs **]를 읽었습니까 (http://book.cakephp.org/2.0/en/models /retrieving-your-data.html#complex-find-conditions) 'OR'조건을 정의하는 방법은 무엇입니까? – ndm
찾기 쉬운 조건을 읽고 코드에서 분리했습니다. 네, 이전에 문서를 읽었고 비슷한 일을하기 전에 - 이번에는 기대했던 결과를 얻지 못했을 것입니다! – Sharon