Php 如何从yii2中的表中删除Foreigen键约束?
在actionDelete中,我有一个从所有表中获取fk的写查询,并创建activeDataProvider.com,并编写一个foreach循环来逐个获取元素Php 如何从yii2中的表中删除Foreigen键约束?,php,yii2,dataprovider,Php,Yii2,Dataprovider,在actionDelete中,我有一个从所有表中获取fk的写查询,并创建activeDataProvider.com,并编写一个foreach循环来逐个获取元素 $query = new \yii\db\Query; $query->select('practiceCode')->from('member','plan','offer','appointment','product','incentive','clinic','complaint')
$query = new \yii\db\Query;
$query->select('practiceCode')->from('member','plan','offer','appointment','product','incentive','clinic','complaint')
->where(['practiceCode' => $model->practiceCode])->all();
$query->createCommand();
$dataProvider= new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
$models = $dataProvider->getModels();
if(count($models) >= 1) {
$memberModel = new Member();
foreach ($models as $k) {
$k['deleted'] = 'Y';
//$memberModel->save();
$connection->createCommand()->update('member', ['deleted' => 'Y'], ['practiceCode' => $models['practiceCode']])->execute();
现在的工作是一个接一个地为所有的桌子做同样的思考
}
return $this->redirect(['index']);
我对如何将此标记“Y”作为外键保存在所有表中感到不安,其中该practiceCode为外键。请帮助如何做…提前感谢即:
$oModel=ModelName::find()->with('originaltable_name')->where(['practiceCode=>$your_value])->all()代码>您将选择记录并删除。您将使用with()定义您的关系。是否要删除包含practiceCode作为外键的所有记录?是吗?是的,我想删除所有包含practiceCode的记录作为FK,所以我想您想使用relation来删除它。目前您遇到了什么错误?我如何使用关系?您能解释i.e:$oModel=ModelName::find()->with('originaltable_name')->where(['practiceCode'=>$your_value])->all();您将选择记录并删除。您将使用with()定义您的关系