2017-05-01 1 views
0

Ich habe einen Quark mit Quark Generation erstellt (mit Tabelle status) in yii2-erweiterte Anwendung. und Quark (Erstellen, Anzeigen, Bearbeiten, Löschen) funktioniert ordnungsgemäß.So aktualisieren Fremdschlüssel aus yii2 fortgeschrittenem Quark

nun eine neue Tabelle Ich habe relation (id, user_id, status_id) geschaffen, in dem user_id der Fremdschlüssel für user Tisch ist und status_id für status Tabelle auch Fremdschlüssel ist.

Jetzt möchte ich Tabelle relation auf Update status Tabelle aktualisieren.

Zum Beispiel:

1) Wenn der Benutzer test (user_id 1) schafft neue status dann wird es in relation Tabelle wie relation (1, 1, {status_id just created by user}) ein neuer Eintrag sein.

2) Wenn der Benutzer den Status löscht, wird auch die Zeile mit dieser status_id aus der Tabelle relation entfernt.

3) Und dieser erstellte Status nur sichtbar 1 bis user_id anderen Benutzern nicht nur.

Ich bin neu in diesem Rahmen, so wenden Sie sich bitte leite mich, wie dieses Szenario in meiner Anwendung zu implementieren?

Vielen Dank im Voraus.

Antwort

0

Sie ein, bevor löschen Funktion zu Ihrem Modell wie folgt hinzufügen sollte:

public function beforeDelete(){ 
     if ($this->getRelations()->count()!=0){ 
     foreach($this->getRelations() as $relation) 
     { 
      if (Yii::$app->user->identity->id == $relation->user_id){ 
       $relation->delete(); 
      } 
     } 
    } 
} 

Sie können auch Accesscontrol ändern in Ihrem Controller!

Verwandte Themen