在 yii 中通过 $_POST 减去数据库中的数量值
minus the quantity value in the database by $_POST in yii
我有一个名为 Apparatus 的 table,那里有一个名为 "quantity" 的专栏,
我有另一个 table 叫做 Transaction,你可以在其中 select 设备 ID 并保留数量
如何从设备中的数量减去交易中的数量?我收到未定义的索引:id 错误...
这是我控制器中的代码:
if (isset($_POST['Transaction']))
{
$transaction->attributes = $_POST['Transaction'];
$transaction->save();
$apparatus = Apparatus::model()->findByPk($_POST['id']);
$apparatus->quantity = $apparatus->quantity - ($_POST['quantity']);
$apparatus->save();
在进行算术运算之前,请检查索引id
是否存在。
我敢肯定,您的 $_POST
变量不包含 id
作为索引。
因此,我建议执行以下操作:
if(Yii::app()->request->getPost('id') && Yii::app()->request->getPost('quantity') && Yii::app()->request->getPost('Transaction')){
$id = (int) Yii::app()->request->getPost('id');
$quantity = (int) Yii::app()->request->getPost('quantity');
$apparatus = Apparatus::model()->findByPk($id);
if($apparatus){
$apparatus->quantity = $apparatus->quantity - $quantity;
if($apparatus->validate()){
$apparatus->save();
}else{
// Log
var_dump($apparatus->errors);
}
}
}
或者,您可以转储 {var_dump($_POST)
} post 变量以查看 $_POST 是否包含 id 作为索引。
这是我所做的:(控制器)
if (isset($_POST['Transaction']))
{
$transaction->attributes = $_POST['Transaction'];
$transaction->save();
$id=$transaction->apparatus_id=($transaction['apparatus_id']);
$quantity=$transaction->quantity=($transaction['quantity']);
$apparatus = Apparatus::model()->findByPk($id);
$apparatus->quantity = $apparatus->quantity - $quantity;
$apparatus->save();
}
我有一个名为 Apparatus 的 table,那里有一个名为 "quantity" 的专栏, 我有另一个 table 叫做 Transaction,你可以在其中 select 设备 ID 并保留数量
如何从设备中的数量减去交易中的数量?我收到未定义的索引:id 错误... 这是我控制器中的代码:
if (isset($_POST['Transaction']))
{
$transaction->attributes = $_POST['Transaction'];
$transaction->save();
$apparatus = Apparatus::model()->findByPk($_POST['id']);
$apparatus->quantity = $apparatus->quantity - ($_POST['quantity']);
$apparatus->save();
在进行算术运算之前,请检查索引id
是否存在。
我敢肯定,您的 $_POST
变量不包含 id
作为索引。
因此,我建议执行以下操作:
if(Yii::app()->request->getPost('id') && Yii::app()->request->getPost('quantity') && Yii::app()->request->getPost('Transaction')){
$id = (int) Yii::app()->request->getPost('id');
$quantity = (int) Yii::app()->request->getPost('quantity');
$apparatus = Apparatus::model()->findByPk($id);
if($apparatus){
$apparatus->quantity = $apparatus->quantity - $quantity;
if($apparatus->validate()){
$apparatus->save();
}else{
// Log
var_dump($apparatus->errors);
}
}
}
或者,您可以转储 {var_dump($_POST)
} post 变量以查看 $_POST 是否包含 id 作为索引。
这是我所做的:(控制器)
if (isset($_POST['Transaction']))
{
$transaction->attributes = $_POST['Transaction'];
$transaction->save();
$id=$transaction->apparatus_id=($transaction['apparatus_id']);
$quantity=$transaction->quantity=($transaction['quantity']);
$apparatus = Apparatus::model()->findByPk($id);
$apparatus->quantity = $apparatus->quantity - $quantity;
$apparatus->save();
}