我想创建一个带分页的复杂查询。这是我的查询场景,请帮助我创建它
Friends table
id | user_id | friend_id
1 2 3
2 4 2
3 5 1
好友id属于用户表id。 而user_id也属于用户表id。 friend 表那么多关系保存那么多用户
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
请帮帮我
最佳答案
您可以开始阅读有关检索您的数据的信息:http://book.cakephp.org/2.0/en/models/retrieving-your-data.html . 示例:
$posts = $this->Project->find('all', array(
'conditions' => array(
'Project.user_id' => $user_id
)
));
这意味着:从模型Project
(数据库表projects
)中找到属于一个id为$user_id
的用户的所有帖子(所有项目) >。其中 user_id
是数据库表 users
(模型 User
)的外键。
$post = $this->Project->find('first', array(
'conditions' => array(
'Project.id' => $project_id
)
));
这意味着:从模型Project
(数据库表:projects
)中找到id = $project_id
的第一篇文章(第一个项目)。您必须将其写入 /app/Controller/ProjectsController.php
有了分页,它就像:
$this->paginate = array('all',
'conditions' => array(
'Project.id' => $project_id
),
'limit' => 6,
);
$posts = $this->paginate($this->Project);
如果您需要更复杂的查询示例,请写出来。
关于php - 具有隐私的 Cakephp 复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21853451/