Aufruf unbekannte Methode: yii\db\ActiveQuery::formName()
Ich versuche, lernen, yii 2.0 mit der Erstellung einer einfachen form für das hinzufügen von neuen posts
.
Hier ist die jeweilige Methode in meinem SiteController
(außerdem habe use app\models\Posts; at the top
):
public function actionSave($id=NULL){
if($id = NULL)
$model = new Posts;
else
$model = $this->loadModel($id);
if(isset($_POST['Posts'])){
$model->load($_POST);
if($model->save()){
Yii::$app->session->setFlash('success', 'Model has been saved');
$this->redirect($this->createUrl('site/save', ['id' => $model->id]));
}else
Yii::$app->session->setFlash('error', 'Model could not be saved');
}
echo $this->render('save', ['model' => $model]);
}
Macht es save
view-Datei. Hier die view-Datei:
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(['options' => ['class' => 'form-horizontal', 'role' => 'form']]) ?>
<div class="form-group">
<?php echo $form->field($model, 'title')->textInput(['class' => 'form-control']); ?>
</div>
<div class="form-group">
<?php echo $form->field($model, 'data')->textArea(['class' => 'form-control']); ?>
</div>
<?php echo Html::submitButton('Submit', ['class' => 'btn btn-primary pull-right']); ?>
<?php ActiveForm::end();
Erwarte ich eine form, aber es zeigt einen Fehler Calling unknown method: yii\db\ActiveQuery::formName()
Was mache ich hier falsch?
$form = ActiveForm::begin(); try ohne Wert in beginnen funciton
wenn Sie die Fehlermeldung beim Hinzufügen oder Bearbeiten?
Funktioniert immer noch nicht. Es funktioniert, wenn ich entfernen Sie die zwei
Ich bin nicht in der Lage zu laden Seite. So können nicht hinzufügen/Bearbeiten.
Posten Sie Ihre ganze controller-code hier?
wenn Sie die Fehlermeldung beim Hinzufügen oder Bearbeiten?
Funktioniert immer noch nicht. Es funktioniert, wenn ich entfernen Sie die zwei
$form->field()
aus SichtIch bin nicht in der Lage zu laden Seite. So können nicht hinzufügen/Bearbeiten.
Posten Sie Ihre ganze controller-code hier?
InformationsquelleAutor Kanav | 2014-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Yatin Mistry
Ich nehme an, Sie verwenden die loadModel-Funktion, wenn ja, ändern Sie diese Zeile
zu diesem
Tritt der Fehler auf, weil das Objekt zurückgegeben loadModel ist ein ActiveQuery und der ActiveForm erwartet ein ActiveRecord.
InformationsquelleAutor Gilson Jesus
InformationsquelleAutor Nitin Godhani