2016-06-02 7 views
2

Ich habe versucht, diese sind Syntaxen für die Herstellung von eindeutigen Schlüssel nicht nullbar.Wie kann man in Laravel 5.2 einen eindeutigen Schlüssel erstellen, der nicht nullbar ist?

1 : $table -> string('email_id' , 40) -> unique() ; 
    $table -> string('email_id') -> nullable(false) -> change(); 


2 : $table -> string('email_id' , 40) -> unique() -> nullable(false) -> change(); 

Aber keiner von ihnen hat funktioniert. Es wäre schön, wenn ich Hilfe dazu finden könnte.

Vielen Dank im Voraus.

+0

Haben Sie es versucht? $ Table -> string ('email_id', 40) -> nullable (false) -> change() -> unique(); '? – KuKeC

+0

Ja .. Fehler [Illuminate \ Database \ QueryException] SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1072 Schlüsselspalte 'email_i d' existiert nicht in der Tabelle (SQL: alter table 'users' add unique 'users_email _id_unique' (' email_id')) –

Antwort

-1

Ich habe verwendet $table->string('email')->unique(); es funktioniert für mich.Ich denke, Sie haben einen anderen Fehler gemacht. mit accessors and mutators

Zum Beispiel

$table -> string('email_id' , 40) -> unique() ; //email_id is unique 


//now how to make not null 
public function setEmailIdAttribute($value) { 
    if ($value == null)) { // will check for null 
    //do something 
    } else { 
     $this->attributes['email_id'] = $value; 
    } 
} 

Weitere Hilfe Scheck this

+0

mit dieser kann ich E-Mail als eindeutigen Schlüssel haben, aber ich möchte nicht, dass es in meiner Datenbank null ist. als eindeutiger Schlüssel kann auch Nullwerte akzeptiert werden. das Ding, das ich nicht sein will. Ich möchte eindeutigen Schlüssel als nicht null. –

+0

probiere diese $ table-> unique ('email'); –

+0

versucht vor, aber nicht funktioniert ... –

0

Wenn Sie keine Lösung finden, wenn Tabelle erstellen/Spalten, dann müssen Sie diese in PHP lösen.

Ich hoffe, es hilft Ihnen.

+0

Vielen Dank für Ihre Antwort. Ich habe diese Funktion in meinem Benutzermodell geschrieben. aber es funktioniert nicht. Wo fehlt mir? –

+0

Was ist Ihre Aktion, wenn der Wert null ist? (// tue etwas line) – KuKeC

+0

Ich mache nichts ... –

Verwandte Themen