Cakephp3将多个Mysql表标准化为1个模型表/实体

时间:2014-09-07 01:39:20

标签: php mysql cakephp-3.0

好的,我们正在尝试建立一个中心网站,以查看销售我们产品的多家供应商提供的数据。这些多个供应商使用不同的销售系统(确切地说是2个不同的销售系统),因此每个数据库看起我们与他们的数据库同步,因此数据位于我们的本地服务器上。我们有3个供应商使用一个系统,2个使用另一个系统。我们需要的是一种方法来确定结果以同样的方式回到我们身边。

以下是两个系统的示例:

System-1
     Customers =>[
         id, firstname, lastname, address
     ],
     Transactions =>[
         id, cost, paid, customer_id
     ]

System2
     Customers =>[
         id, NAMEFIRST, NAMELAST, AddressNumber, AddressString, AddressZip
     ],
     Transactions=>[
         id, COST, PAID, CUSTOMER_ID
     ]

我根本无法更改数据库。我希望能够回显$ this-> Transaction->地址,无论它是哪个数据库。这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用实体属性访问者:http://book.cakephp.org/3.0/en/orm/entities.html#accessors-mutators

class Customer extends Entity {
    protected function _getFirstname($name) {
        if ($name === null && isset($this->NAMEFIRST)) {
           return $this->NAMEFIRST;
        }
        return $name;
    }
}