0

我正在尝试按照 cake kbook 中的描述在模型上建立多重关系 我有两个模型 Account 和 Tax 这样

帐户(id,名称,代码)税(id.name,sales_tax_gl,purchase_tax_gl)

与 Account.id 相关的 sales_tax_gl 和 purchase_tax_gl 这些都是我创建的模型

class Tax extends AppModel {
var $name = 'Tax';
var $displayField = 'name';

var $belongsTo = array(
    'SalesTax' => array(
        'className' => 'Account',
        'foreignKey' => 'sales_tax_gl',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'PurchaseTax' => array(
        'className' => 'Account',
        'foreignKey' => 'purchase_tax_gl',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);
}


Account Model
class Account extends AppModel {
var $name = 'Account';
var$primaryKey = 'id';


var $hasMany = array(        
    'TaxSalesTax' => array(            
    'className' => 'Tax',            
    'foreignKey' => 'sales_tax_gl' ),        
    'TaxPurchaseTax' => array(            
    'className' => 'Tax',            
    'foreignKey' => 'purchase_tax_gl' ) 

);

}

但它失败并显示此消息“警告(2):pg_query()[function.pg-query]:查询失败:错误:缺少表“帐户”的 FROM 子句条目

模型有什么问题?我正在使用 postgreSql,感谢您的帮助

4

2 回答 2

0

我在想我找到了问题所在。那是因为我在帐户模型中使用虚拟字段,如下所示

var $name = 'Account';
var $primaryKey = 'id';
var $displayField = 'name';
var $order=array('Account.id');
var $virtualFields = array('dropdown_name' => 'Account.id || \' \' || Account.name');

当我取消注释 $virtualFields 时,它可以正常工作,但我仍然不知道为什么?

于 2012-12-04T16:50:50.087 回答
0

在第一个模型中,您的模型名称是 SalesTax,在第二个模型(帐户模型)中,模型名称是 TaxSalesTax,请将其更正为正确的并尝试。

于 2012-12-04T06:28:45.320 回答