php - CakePHP,如何从另一个表获取值

标签 php mysql database cakephp joincolumn

我有 2 个关于模型的表,Table1 和 Table2 表 1 上的列

ID | Content1

表2上的列

ID | table1_id | Content2

我想在Table2上显示Table1中的内容,如何加入列?

提前致谢!

最佳答案

模型\Model1.php

<?php
App::uses('AppModel', 'Model');

class Model1 extends AppModel {

    public $useTable = 'table1';

}

模型\Model2.php

<?php
App::uses('AppModel', 'Model');

class Model2 extends AppModel {

    public $useTable = 'table2';

    public $belongsTo = array(
        'Model1' => array(
            'className' => 'Model1',
            'foreignKey' => 'table1_id'
        )
    );

}

在 Controller 中:

$data = $this->Model2->find('all');

生成的查询将是

SELECT `Model2`.`id`, `Model2`.`table1_id`, `Model2`.`content2`, `Model1`.`id`, `Model1`.`content1` FROM `db`.`table2` AS `Model2` LEFT JOIN `cake244`.`table1` AS `Model1` ON (`Model2`.`table1_id` = `Model1`.`id`) WHERE 1 = 1

关于php - CakePHP,如何从另一个表获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594586/

相关文章:

mysql - 使用窗口函数的 SQL 查询 - 插入和更新输出的超前和滞后

javascript - 如何从数据库动态更新号码

asp.net - 在数据库 Asp .Net 中插入新值

javascript - 搜索图标未出现在自动完成搜索中

php - Laravel Flash 或 session 消息不会过期 [未维护更新]

mysql - 使用 sequelize 和 express 进行构建时出现未定义错误

MySQL 锁表被忽略

mysql - 连接 MySQL 和 C

php 发送带有 PDF 附件的电子邮件

php - 在 symfony 2 中创建动态树