我对牛津很陌生。
我试图只使用OXID函数来执行SQL查询。
重点是检查oxVoucherSerie的表ox优惠中是否存在$discount,如果它存在,则从oxVoucherSerie获取对应于该折扣的oxid。
遗憾的是,我不能使用普通的MySQL,只能使用oxid函数。我不知道该怎么做。
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);
}这告诉我折扣是否存在。然而,我不知道从上述折扣中回收oxid。
发布于 2016-05-27 10:00:38
我们可能需要先澄清一些措辞和变量,因为我不太确定你想要实现什么。
优惠券-(又称“优惠券”)商店访问者可以在购物篮中输入优惠券/优惠券代码,以实现减价或免费产品。
优惠券在商店设置->优惠券系列中生成
折扣-某些类别或物品的一般降价,例如宠物配件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);不仅会告诉您是否存在这样折扣的凭单系列,而且还会将此凭证serie加载到 $o_voucher ,这样您就可以使用$o_voucher访问该凭证serie的所有参数(不受抗议),例如:
$o_voucher->getId()或$o_voucher->oxvoucherseries__oxid->value()用于获取其oxID或仅用于查看所有对象属性的var_dump($o_voucher);
顺便说一下,如果您正在使用Oxid4.9开发,您可以使用这个模块:https://marat.ws/direct-access-to-oxid-framework-functions/来快速评估和调试您的代码。只需将上面的代码复制粘贴到文本区域并按下按钮即可。
https://stackoverflow.com/questions/37479462
复制相似问题