php - Cakephp 复杂查询构建

标签 php mysql cakephp mysqli cakephp-2.8

我有三个表 users、attributes 和 user_attributes。

users[id, name, username, password, dob, gender, isactive, registered_on],
attributes[id, name, isactive],
user_attributes[id, user_id, attribute_id]

这是我的带字段的表结构。现在我想编写一个查询,如果 user_attributes 表中存在任何行,该查询将从 user 表中获取所有用户以及 user_attributes 表的值。

如何在cakephp中编写查询? 我有两个模型 UserAttribute

提前致谢。

最佳答案

请按照以下步骤操作:

1-为表 user_attributes 创建模型 UserAttribute。

class UserAttribute extends AppModel{

}

2-在您的用户模型中创建 hasMany 与 UserAttribute 关联

class User extends AppModel{

   public $hasMany = array(
            'UserAttribute' => array(
            'className' => 'UserAttribute',
            'foreignKey' => 'user_id',

            ),

     );

 }

3-在 Controller 中查找查询:

$users= $this->User->find('all');
echo "<pre>";
print_r($users);

关于php - Cakephp 复杂查询构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40630923/

相关文章:

php - 比较两个非常相似的表中的所有个人记录,其中包含大量数据

sql - CakePHP 3 + ORM 查询构建器和列名转义

php - 通过 ODBC Sybase "PARAM datastream"错误的 PDO 准备语句

sql - 在SQL中从另一行数据中减去一行数据

php mysql 使用 concat 连接表

mysql - Sql - IN 运算符行为返回各种结果

CakePHP 每页项目帮助器

php - 使用 PHP 在 mysql 中搜索存储有多个名称并用 ** 连接的项目

php - 图片上传/接收API

php 和 rails 在同一台服务器上 linux 托管