在模型产品中具有该关系:
public function getDiscount()
{
return $this->hasMany(Discount::className(), ['id' => 'available_discount']);
}
模型具有字段 available_discount ,该字段将数据存储为 1; 2; 3 ,其中 1; 2; 3 是折扣ID。< / p>
使用键折扣 = []查询Product::find()->joinWith('discount d')->where(['d.id' => [1,2,3]])->all()
返回产品。
我如何才能将折扣与 ID , 1、2、3 联系起来?
答案 0 :(得分:1)
尝试一下:
public function getDiscounts()
{
$idsAsArray = explode(';', $this->available_discount);
$query = Discount::find()->where(['id' => $idsAsArray]);
$query->multiple = true;
return $query;
}
然后通过以下方式获取它们:
$product->discounts; // returns Discount[]
$product->getDiscounts()->count(); // gets the count of discount models.