У меня появилась такая ошибка, что когда я хочу изменить только статус он в запросах есть post, но в итоге сохраняет все кроме этого столбца. То есть там данные остаются старые после сохранение. И при этом никакие ошибки не выдает
Как я реализовал одну из actons в контроллере
public function actionAccept($id)
{
$model = $this->findModel($id);
// $model->scenario = Zakaz::SCENARIO_DEFAULT;
if ($model->load(Yii::$app->request->post())){
$model->validate();
if ($model->save()) {
// d(Yii::$app->request->post());
return $this->redirect(['admin', 'id' => $id]);
} else {
print_r($model->getErrors());
}
} else {
return $this->renderAjax('accept', ['model' => $model]);
}
}
А в моделе
const STATUS_DISAIN = 3;
const STATUS_MASTER = 6;
const STATUS_AUTSORS = 8;
const SCENARIO_DECLINED = 'declined';
const SCENARIO_DEFAULT = 'default';
public function scenarios()
{
return [
self::SCENARIO_DECLINED => ['declined', 'required'],
self::SCENARIO_DEFAULT => ['srok', 'number', 'description', 'phone', 'sotrud_name', 'required'],
];
}
public function rules()
{
return [
[['srok', 'number', 'description', 'phone', 'sotrud_name'], 'required', 'on' => self::SCENARIO_DEFAULT],
['declined', 'required', 'message' => 'Введите причину отказа', 'on'=> self::SCENARIO_DECLINED],
[['id_zakaz', 'id_tovar', 'oplata', 'fact_oplata', 'minut', 'time', 'number', 'status', 'action', 'id_sotrud', 'phone', 'id_shipping' ,'prioritet', 'statusDisain'], 'integer'],
...
];
}
А вот что я вижу в post
Zakaz => array (1)
status => string (1) "3"