Yii 1 - 在其他 table 中保存行后删除行
Yii 1 - deleting row after saving row in other table
我有 2 个 table 结构如下:
Store(name, model, serial_number)
Work(name, model, serial_number, adress)
当我向 table Work 添加记录时,我使用 ListData 从 table Store 获取数据。问题是:如何在将行保存到 Work 后从 Store 中删除该行?
public function actionCreate()
{
$model=new Work;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Work']))
{
$model->attributes=$_POST['Work'];
if($model->save()) {
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
我试图在 if($model->save)
块中编写查询,但我不知道如何通过 serial_number
删除该行。
我想我应该使用交易,但我不知道如何在我的示例中使用它。
您需要识别您的 store
才能删除它。您没有解释这两个模型之间的关系。如果两个模型的serial_number
字段相同,你可以找到work
的serial_number
的store
,然后删除它。在这种情况下,您可以执行以下操作:
if(isset($_POST['Work']))
{
$model->attributes=$_POST['Work'];
if($model->save()) {
Store::model()->deleteAll("serial_number = " . $model->serial_number);
$this->redirect(array('view','id'=>$model->id));
}
}
否则,您应该定义两个模型之间的关系。
我有 2 个 table 结构如下:
Store(name, model, serial_number)
Work(name, model, serial_number, adress)
当我向 table Work 添加记录时,我使用 ListData 从 table Store 获取数据。问题是:如何在将行保存到 Work 后从 Store 中删除该行?
public function actionCreate()
{
$model=new Work;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Work']))
{
$model->attributes=$_POST['Work'];
if($model->save()) {
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
我试图在 if($model->save)
块中编写查询,但我不知道如何通过 serial_number
删除该行。
我想我应该使用交易,但我不知道如何在我的示例中使用它。
您需要识别您的 store
才能删除它。您没有解释这两个模型之间的关系。如果两个模型的serial_number
字段相同,你可以找到work
的serial_number
的store
,然后删除它。在这种情况下,您可以执行以下操作:
if(isset($_POST['Work']))
{
$model->attributes=$_POST['Work'];
if($model->save()) {
Store::model()->deleteAll("serial_number = " . $model->serial_number);
$this->redirect(array('view','id'=>$model->id));
}
}
否则,您应该定义两个模型之间的关系。