私は、モデル内でvirtualFieldを使用して別のモデルフィールドをエイリアスしようとしている既存のCakeプロジェクトを初めて使いました。コンテキストにおいて:他のモデルフィールドのエイリアスとしての仮想フィールド - SQL:Unknown Column Error
class Product extends AppModel {
var $name = 'Product';
var $hasOne = array('ProductPrice');
var $virtualFields = array(
'price' => 'ProductPrice.current_price'
);
// Typical fields in the database for Product. id, name, etc.
}
class ProductPrice extends AppModel {
var $name = 'ProductPrice';
var $belongsTo = array('Product');
// Fields are product_id, current_price
}
ProductPriceモデルは、製品の現在の価格の検索を可能にするCURRENT_PRICEカラムを異なる価格ティアを含むデータベースのビューのためのものです。
$this->Product->find('all' ....);
私は価格フィールドの取得に問題はありません。私は問題はSQLがによって生成されたということであることを知っている
SQL Error: 1054: Unknown column 'ProductPrice.current_price' in 'field list' [CORE/cake/libs/model/datasources
/dbo_source.php、ライン681]
を:製品への問合せが
$this->Inventory->find('all');
のようなものを介して間接的に行われている場合、問題は我々が得るですInventoryクエリはProductPriceビューに参加しようとしません。私は、これが "hasOne" ProductPriceを知っているので、これがProductモデルを介して自動的に起こると仮定しました。
Inventoryモデルの「再帰的」を2,1などに設定しようとしましたが、成功しませんでした。
私には何が欠けていますか?
いただきありがとうございます。情報私がチャンスを得るとき、私はこれを実装し、フィードバックを試みます。 –