Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 使用';和'';或';条款_Cakephp_Cakephp 2.0 - Fatal编程技术网

Cakephp 使用';和'';或';条款

Cakephp 使用';和'';或';条款,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我的疑问是: //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.use

我的疑问是:

//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、用户id(用户表的id),
friend_id(用户表的id),状态)


可以在模型中指定条件

public $belongsTo = array('User' => array('className' => 'Request',
                                          'foreignKey' => 'user_id',
                                          'conditions' => array('OR' => array('Request.user_id' => 'User.id', 'Request.friend_id' => 'User.id')
                                         ))
                         );

我完全按照你告诉我的那样做了,但这次我在sql查询中“开”之后得到了以下信息:-(
请求
朋友id
=
用户
id
和(
请求
用户id
用户id请求
朋友id
=/User.id'))我正在向我的机器说明这一点。同时,您可以参考以下链接: