从空值 Yii2 创建默认对象
Creating default object from empty value Yii2
使用 yii2 尝试进行支付成功回调。回调工作,但我需要对订单进行更改。在我的 common/congig/main.php:
'successCallback' => function($invoice) {
$order = \common\models\Checkout::findOne($invoice->order_id);
$order->payment_status = 1;
$order->update();
}
$发票->order_id;收到当前订单 ID,我需要更改结帐模式的付款状态。
更新:
我能以某种方式运行递归吗?例如,如果我有多个记录具有一个 ID?
您的代码中的问题是 findOne()
需要列的名称来比较值,在本例中为 Checkout 的 ID 列。
假设它是 order_id
就像在发票 table 中一样。
代码将是这样的:
'successCallback' => function($invoice) {
$order = \common\models\Checkout::findOne(['order_id' => $invoice->order_id]);
$order->payment_status = 1;
$order->update();
}
如果名称不同,请将 'order_id' 替换为结帐 ID 列。
更新
要更新多条记录,您可以这样做:
'successCallback' => function($invoice) {
\common\models\Checkout::updateAll(['payment_status'=>1],['order_id' => $invoice->order_id]);
}
在测试此代码之前进行数据库备份。
使用 yii2 尝试进行支付成功回调。回调工作,但我需要对订单进行更改。在我的 common/congig/main.php:
'successCallback' => function($invoice) {
$order = \common\models\Checkout::findOne($invoice->order_id);
$order->payment_status = 1;
$order->update();
}
$发票->order_id;收到当前订单 ID,我需要更改结帐模式的付款状态。
更新:
我能以某种方式运行递归吗?例如,如果我有多个记录具有一个 ID?
您的代码中的问题是 findOne()
需要列的名称来比较值,在本例中为 Checkout 的 ID 列。
假设它是 order_id
就像在发票 table 中一样。
代码将是这样的:
'successCallback' => function($invoice) {
$order = \common\models\Checkout::findOne(['order_id' => $invoice->order_id]);
$order->payment_status = 1;
$order->update();
}
如果名称不同,请将 'order_id' 替换为结帐 ID 列。
更新 要更新多条记录,您可以这样做:
'successCallback' => function($invoice) {
\common\models\Checkout::updateAll(['payment_status'=>1],['order_id' => $invoice->order_id]);
}
在测试此代码之前进行数据库备份。