我如何才能在YII
每次关联到给定模型时获取相关模型,或者至少计算它发生了多少次?
问题:
我有一张Orders表和一张Products表。
每个产品与订单关联 0 次或多次。
我如何通过 YII 中的标准关系工具知道产品在订单上的次数?
我通过一个联合表创建了一个多对多关系并用它来声明我的关系
'products'=>array(self::MANY_MANY, 'Product', 'index_order_products(order_id, product_id)')
问题是当我调用$order->products时,它只返回唯一的产品,而不是每次相关的产品。
我只需要知道订单上每种产品的数量,所以我试过了
'products'=>array(self::MANY_MANY, 'Product', 'index_order_products(order_id, product_id)', 'select'=>'*, COUNT(product_id) as count', 'group'=>'product_id')
但是,如果我然后尝试调用$order->products[0]->count
它说计数尚未定义。
我设法通过在数据库中创建一个空列数来规避这个问题。这样我就得到了我需要的号码,但肯定有更好的方法。
在 YII 中做这样的事情的正确方法是什么?