В actionDelete Я написал запрос для получения fk из всей таблицы и создать activeDataProvider.и написать цикл foreach для получения одного за другим элемента.
$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();
Вы выберете свои записи и удалите. вы определите свое отношение с помощью ()
Других решений пока нет …