具有隐私的Cakephp复杂查询
我想创建一个带有分页的复杂查询。这是我的查询场景,请帮助我创建它具有隐私的Cakephp复杂查询,php,mysql,cakephp,Php,Mysql,Cakephp,我想创建一个带有分页的复杂查询。这是我的查询场景,请帮助我创建它 Friends table id | user_id | friend_id 1 2 3 2 4 2 3 5 1 朋友id属于用户表id。 并且用户id也属于用户表id。 朋友表如此多的关系节省了如此多的用户 user table id name 1 jaskaran 2 kaka 3 rajal 4 name 5 john projects i
Friends table
id | user_id | friend_id
1 2 3
2 4 2
3 5 1
朋友id属于用户表id。
并且用户id也属于用户表id。
朋友表如此多的关系节省了如此多的用户
user table
id name
1 jaskaran
2 kaka
3 rajal
4 name
5 john
projects
id user_id title privacy
1 2 abc1 1
2 2 abc2 2
3 2 abc3 3
4 2 abc3 4
privacy 1 public
privacy 2 private
privacy 3 only selected friend
privacy 4 all friend only
proect_selected_friends
project_id | user_id
3 | 3
现在,当用户在项目上搜索时,其中title=“%abc%”立即显示所有记录我想在那里应用隐私条件
1 project display all the user
2 project display no one
3,4,1 project display, which has user_id 3
4,1 project display to 3 or 4
请帮助我您可以开始阅读有关检索数据的内容:。 示例:
$posts = $this->Project->find('all', array(
'conditions' => array(
'Project.user_id' => $user_id
)
));
这意味着:从modelProject
(db tableprojects
)中查找属于一个id为$User\u id
的用户的所有帖子(所有项目)。其中,user\u id
是数据库表users
(modeluser
)的外键
它的意思是:从id=$project\u id
的模型project
(数据库表:projects
)中查找第一篇文章(第一个项目)。您必须将其写入/app/Controller/projectscocontroller.php中的函数中
使用分页时,它将类似于:
$this->paginate = array('all',
'conditions' => array(
'Project.id' => $project_id
),
'limit' => 6,
);
$posts = $this->paginate($this->Project);
如果您需要更复杂的查询示例,请编写它。您需要了解sql首先为您提供的结果是什么-这不是cakephp特有的。您希望您的查询返回什么?您能提供一些示例数据和期望的结果吗?实际上我是mysql和db的新手,不知道如何进行长查询:(
$this->paginate = array('all',
'conditions' => array(
'Project.id' => $project_id
),
'limit' => 6,
);
$posts = $this->paginate($this->Project);