Cakephp:加载没有模型文件的模型

时间:2011-06-15 20:15:35

标签: cakephp cakephp-1.3

我有动态创建的表格,我想访问它 通过模型。由于这些表是动态创建的,我没有 他们的模型.php文件。表格的创建符合 Cake的命名约定。我尝试使用loadModel()来加载它们 蛋糕仍然抱怨桌子丢失了。

有解决方案吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

撰写本文时,使用CakePHP 2.1.2

在您的控制器中添加App::uses('AppModel', 'Model');。然后实例化模型

    $RemoteHeader = new AppModel(array(
                'table' => 'SOP10100',
                'ds' => 'external',
                'name' => 'RemoteHeader',
                'alias' => 'InvoiceHeader',
                'primaryKey' => 'id',
                'hasMany' => array(
                    'InvoiceDetail' => array(
                        'foreignKey' => 'SOPNUMBE',
                        'counterCache' => false
                ))));

然后使用您需要的任何Model参数获取数据:

    $data = $RemoteHeader->find('all', array(
            'fields' => array(
            'SOPNUMBE',
            'CUSTNAME',
            'DUEDATE',
            'DOCDATE',
            'DOCAMNT',
            'SUBTOTAL')));

答案 1 :(得分:0)

使用类

创建/app/models/dynamic.php
class Dynamic extends AppModel {
    var $name = 'Dynamic'
    var $useTable = null;
}

在你的控制器的行动中

$this->Dynamic->useTable = 'newly-created-table';

没有经过测试,请告诉我是否有问题