1
내 검색어를 찾으십시오;'and', 'or'절을 사용하여 CakePHP 콤플렉스 조건을 찾습니다.
//here $u_id is id of the users table retrieved using session variable
$this->User->Request->find("all",array("conditions" =>array("request.status" => "friends" ,
"OR" => array("request.friend_id" => "$u_id","request.user_id" => "$u_id"))));
에 해당 SQL 쿼리는 다음과 같습니다 -
SELECT `Request`.`id`, `Request`.`user_id`, `Request`.`friend_id`, `Request`.`status`, `User`.`id`, `User`.`name`, `User`.`email`, `User`.`password`,
FROM
`myblog`.`requests` AS `Request` JOIN `myblog`.`users` AS `User`
ON
(`Request`.`friend_id` = `User`.`id`)
WHERE
((`request`.`friend_id` = 3) OR (`request`.`user_id` = 3)) AND `request`.`status` = 'friends'
내가 원하는 결과를 얻을 수있는 위의 SQL 쿼리 'ON'후 다음 줄을 원하는 반면 :
`Request`.`user_id` = `User`.`id` OR `Request`.`friend_id` = `User`.`id`
무엇 find()
메소드 에서 변경해야합니까, 아니면 모델을 변경해야합니까?
내 테이블은 다음과 같습니다
사용자 (ID, 이름, 비밀번호, 이메일)
요청 (ID, USER_ID 사용자 테이블 (ID),
friend_id (사용자 테이블의 ID), 상태)
,하지만 난 SQL 쿼리에 'ON'는 후 다음 얻고이 시간 : - ('Request'.'friend_id' ='User'.'id' AND (('Request'.'user_id' = 'User.id') OR ('Request'.friend_id' = 'User.id'))) –
이 경우를 제 기계로 만들고 있습니다. 그 동안 다음 링크를 참조 할 수 있습니다 : http://book.cakephp.org/1.3/view/1047/Joining-tables –
괜찮습니다. 긍정적 인 응답을 기다리고 있습니다. 고맙습니다. –