2016-07-20 20 views
0

Ich bin neu bei Yii. Ich habe diese Linie in Form eines CRUD Modell:Generieren einer zufälligen ID beim Erstellen eines Formulars in Yii2 Framework

<?= $form->field($model, 'idmembers')->textInput() ?> 

ich die ID des Elements (PRIMARY KEY) nicht den Benutzer eingegeben werden soll, will ich es in Form automatisch generiert werden und die Feld ist deaktiviert.

I textinput() von rand (1,1000) und von random_int (1, 1000) und ich bekomme diese Fehlermeldung ersetzt, wenn ich die Seite aktualisieren:

Unknown Method – yii\base\UnknownMethodException 
Calling unknown method: yii\widgets\ActiveField::random_int() 

ich die vorherige Antwort versucht, erklärte ich eine Variable und ich benutzte es aber immer noch das gleiche Problem. Irgendwelche Hinweise?

Danke.

+0

Verwenden Sie eine AutoIncrement-Spalte in Ihrer Tabelle, so ändern Sie Ihr Schema – RiggsFolly

+0

Sie müssen Idmembers-Eigenschaft in der Controller-Aktion zu füllen und TextInput() Zeile aus Sicht zu entfernen. –

Antwort

0

Hallo, warum Sie rand(1,1000) verwendet haben;

gesetzt gerade idmemberscolumn als AutoIncrement in database wie Sie sagen, dass es Ihre primary field ist und entfernen Sie diese Zeile aus Ihrem view

<?= $form->field($model, 'idmembers')->textInput() ?>// remove this 

oder

wenn Ihr wollen dies durch rand erzeugt werden Funktion definieren Sie dann Ihre Methode random_int(1, 1000) in Ihrer model. aber das ist nicht gut, weil es irgendwann dasselbe gibt, dann wirst du dublicate id bekommen.