我是OXID的新手。
我正在尝试仅使用OXID函数执行SQL查询。
重点是检查oxVoucherSerie的表oxdiscount中是否存在$ discount,如果存在,则从oxVoucherSerie获取与该折扣相对应的氧化物。
可悲的是我不能使用纯MySQL,我只能使用氧化功能。我不知道该怎么做。
public function save_voucher($discount){
$o_voucherid = oxNew("oxVoucherSerie");
$aWhere_discount['oxdiscount'] = $discount;
$sSql = $o_voucherid->buildSelectString($aWhere_discount);
$b_exists = $o_voucher->assignRecord($sSql);
}
这告诉我折扣是否存在。但是,我不知道从所述折扣中检索氧化物。
答案 0 :(得分:2)
我们可能需要首先澄清一些措辞和变量,因为我不确定你想要实现的目标。
优惠券 - (也称为“优惠券”)商店访客可以在购物篮中输入优惠券/优惠券代码以实现降价或免费产品。
优惠券在商店设置中生成 - >优惠券系列
折扣 - 某些类别或文章的总体降价,例如宠物配件10% 可以在商店设置 - >中配置折扣。折扣
好的,我更新了我的帖子。
你的代码运行良好,我只是稍微改了一下。首先是代码,然后是解释:
$o_voucher = oxNew("oxVoucherSerie");
$aWhere_discount['oxdiscount'] = 25;
$sSql = $o_voucher->buildSelectString($aWhere_discount);
$o_voucher->assignRecord($sSql);
var_dump($o_voucher);
我将 $ o_voucherid 替换为 $ o_voucher (不含 id )
$o_voucher = oxNew("oxVoucherSerie");
为您提供oxVoucherSeries对象
$o_voucher->assignRecord($sSql);
不仅告诉您是否存在具有此类折扣的优惠券系列,还会将此优惠券系列加载到 $ o_voucher 中,以便您可以访问此优惠券的所有(非详细信息)参数使用$ o_voucher系列,例如:
$o_voucher->getId()
或$o_voucher->oxvoucherseries__oxid->value()
获取其oxID或仅var_dump($o_voucher);
查看所有对象属性
顺便说一句,如果您使用OXID 4.9进行开发,可以使用此模块:https://marat.ws/direct-access-to-oxid-framework-functions/来快速评估和调试代码。 只需将上面的代码复制粘贴到textarea并按下按钮
即可