php - 具有隐私的 Cakephp 复杂查询

标签 php mysql cakephp

我想创建一个带分页的复杂查询。这是我的查询场景,请帮助我创建它

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/

相关文章:

php - phpseclib SSH2不执行Shell脚本

php - 如何将这个json数组保存到MYSQL数据库

c# - 处理数千个 UDP 数据包并使用 Threads 将它们保存在远程数据库中的最佳方法是什么?

mysql - CakePHP:使用bindModel向后追踪3个模型?

php - 将数组拆分为多个部分并输出带有值列表的字符串

php - 我如何在我的 php 脚本中使用 Google Analytics 的网站页面统计信息?

php - PayPal IPN 未插入数据库

PHP EXPORT MYSQL TO CSV - 获取列标题,无法获取其余数据?

php - 在 cakePHP 中显示完整的列

html - Apple iphone 导致按钮在网站上被压扁