Je veux mettre à jour une seule colonne de la table que je reçois cette erreur lors de la mise à jour d'une des lignes de table:activerecord ne peut pas mettre à jour une ligne
Call to a member function load() on null
Ceci est mon action:
public function actionAddNote(){
$id = \Yii::$app->request->post('id');
$model = MainRequest::findOne($id);
if ($model->load(\Yii::$app->request->post()) && $model->validate())
{
if($model->update()){
echo "1";
}else {
print_r($model->getErrors());
}
}
return $this->renderAjax('add-extra-note',['model' => $model]);
}
Mon modèle:
class MainRequest extends ActiveRecord {
public static function tableName()
{
return "main_request";
}
public function behaviors()
{
return [
DevNotificationBehavior::className(),
];
}
public function rules() {
return [
[
['who_req',
'req_description',
'req_date',
'extra_note'
], 'safe']
];
}
formulaire fera correctement et je peux voir mon texte, mais lorsque je soumets cette erreur se produire:
<div>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'extra_note')->textInput(); ?>
<div class="form-group">
<?= Html::submitButton('save', ['class' => 'btn green']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
Quelqu'un peut-il dire ce qui est le problème? Je vous remercie.
En actionAddNote, Êtes-vous sûr que le paramètre $ id n'est pas nul? –
oui parce que je peux voir '$ model = MainRequest :: findOne ($ id)' valeur sur mon formulaire qui est prêt pour l'édition – moh