我有2个型号:Product和SellingProduct。 SellingProduct商店销售信息为销售日期,售价。产品记录有许多销售产品记录。
我想获取产品的最新销售产品记录。我使用hasOne但不起作用。
$this->hasOne('LastSellingProduct', [
'foreignKey' => 'product_id',
'order' => ['LastSellingProduct.created' => 'DESC'],
'limit' => 1,
'propertyName' => 'last_selling_product',
'className' => 'SellingProducts'
]);
请帮助我!
答案 0 :(得分:0)
如何使用虚拟字段呢?
我会设置
$this->virtualFields('LastSellingProduct','SELECT product_id from `selling_products` where id = (SELECT MAX(id) from `selling_products` WHERE product_id=Product.id)');
或从您的产品中添加模拟虚拟字段
public $virtualFields = array('LastSellingProduct'=>'(SELECT product_id FROM `selling_products` WHERE id = (SELECT MAX(id) FROM `selling_products` WHERE product_id=Product.id))');