Empfehlungen: Erweiterte Suche

Benutzer beim Speichern mit Modell assoziieren

Fragen zur Konzeptionierung und womit man am besten anfäng? Hier rein...

Benutzer beim Speichern mit Modell assoziieren

Beitragvon skliche » Mi 5. Nov 2008, 10:26

Ich habe 2 Modells: Polls und Users. Ein Poll hat einen User, sprich Poll hat ein Attribut für die id des Users.
Wenn der Poll angelegt wird hole ich mir den Benutzer aus dem Auth Modul und möchte ihn mit dem Poll,der gespeichert werden soll, assoziieren.

Im Moment mache ich das folgendermaßen:
Code: Alles auswählen

function add() {
  if (!empty($this->data)) {
    $this->Poll->create();
    $user =  $this->Auth->user();
    $this->data['Poll']['user_id'] = $user['User']['id'];

    if ($this->Poll->save($this->data)) {
        ...
    } else {
        ...
    }
  }    
}

Geht das nicht auch schöner?
skliche
 
Beiträge: 2
Registriert: Mi 5. Nov 2008, 10:14

Re: Benutzer beim Speichern mit Modell assoziieren

Beitragvon havanna » Mi 5. Nov 2008, 21:44

Hallo ??,

wenn ich das richtig verstehe, existiert User schon in dem Moment, in dem du Poll anlegst. Und du möchtest beim Anlegen von Pol eine Beziehung zum User herstellen. Der Aufruf erfolgt an einer Stelle, an der der User bekannt ist. Ggf. könntest du die User-ID aus dem Aufruf mitgegeben (Parameter in deiner Funktion).
Wenn dem nicht so ist, dann finde ich das ganz gut.

Ciao Thomas
Benutzeravatar
havanna
 
Beiträge: 191
Registriert: Mi 15. Okt 2008, 23:12
Wohnort: Bodman-Ludwigshafen
CakePHP-Version: 1.2.x
OS: WIN

Re: Benutzer beim Speichern mit Modell assoziieren

Beitragvon skliche » Do 6. Nov 2008, 12:41

Hi Thomas,

alles klar. Das ganze Läuft im Controller ab. Eine Repräsentation des Users ist ja in der Session vom Auth Modul gespeichert. Ich hatte gedacht man kann das ein bisschen einfacher machen. Zum Beispiel so:

Code: Alles auswählen

$this->Poll->create();
$this->Poll->User =  $this->Auth->user();
...
 


Aber so gehts ja auch...

Vielen Dank
Stephan
skliche
 
Beiträge: 2
Registriert: Mi 5. Nov 2008, 10:14

Re: Benutzer beim Speichern mit Modell assoziieren

Beitragvon euromark » Do 6. Nov 2008, 19:46

also ich hab mir die userid eines eingeloggten Users einfach
in eine Konstante geschrieben

$id = (int)$...;
define('USER_ID',$id);

direkt beim beforeFilter() im AppController

Dadurch kann ich nun die überall verwenden (bzw auf >0 prüfen) wo ich lustig bin)
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows


Zurück zu Konzeption und Vorgehensweise

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron