porno porno izle rokettube
Ergebnis 1 bis 5 von 5

Thema: Wie per select eingegebenes Objekt in der Datenbank speichern?

  1. #1
    Neuer Benutzer
    Registriert seit
    26.11.2015
    Beiträge
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard Wie per select eingegebenes Objekt in der Datenbank speichern?

    Hallo Zusammen!

    Ich arbeite mich gerade in das Zend Framework (v. 1.12.7) ein und stehe vor folgendem Problem:

    Es geht konkret um die Form einer Benutzerklasse. Hier soll ein Benutzerobjekt so angelegt werden können, dass das dazugehörige Rollenobjekt und Gruppenobjekt per Drop Down (Select) ausgewählt werden können. In der Datenbank werden die IDs der Rolle bzw. Gruppe in der Benutzertabelle gespeichert. Leider kommen in der Datenbank schlicht und ergreifend keine Werte für RolleID und für GruppeID an.

    Benutzer Form:
    PHP-Code:
    $rollen = new Application_Model_Rolle(); 
                  
    $entries = array();
               
    $mapper = new Application_Model_RolleMapper();
               
    $rollen $mapper->fetchAll();
               
               foreach (
    $rollen as $rolle) {
                   
    $entry = new Application_Model_Rolle();
                   
    $entry->setR_id($rolle->r_id);
                   
    $entry->setBezeichnung($rolle->bezeichnung);
                   
    $entries[] = $entry->bezeichnung;
                   
    $values[] = $entry->r_id;
               }
            
    $this->addElement('select''rolle', array(
                    
    'label'      => 'Rolle:',
                    
    'required'   => false,
                    
    'multiOptions' => $entries,
                    
    'value' => $values,
             )); 
    Benutzer Controller:

    PHP-Code:
    public function addAction()
        {
            
    $request $this->getRequest();
            
    $form    = new Application_Form_Benutzer();
            
            if (
    $this->getRequest()->isPost()) {
                if (
    $form->isValid($request->getPost())) {
                    
    $benutzerdaten = new Application_Model_Benutzer($form->getValues());
                    
    implode(" ",$form->getValues());

                    
    $mapper  = new Application_Model_BenutzerMapper();
                    
    $mapper->save($benutzerdaten);
                    return 
    $this->_helper->redirector('index');
                }
            }
            
            
    $this->view->form $form;
        } 
    Benutzer Mapper:

    PHP-Code:
    public function save(Application_Model_Benutzer $benutzer)
        {
        
            
            
    $data = array(
                    
    'b_id'   => $benutzer->getB_id(),
                    
    'nachname' => $benutzer->getNachname(),
                    
    'vorname' => $benutzer->getVorname(),
                    
    'benutzername' => $benutzer->getBenutzername(),
                    
    'email' => $benutzer->getEmail(),
                    
    'telefon' => $benutzer->getTelefon(),
                    
    'passwort' => $benutzer->getPasswort(),
                    
    'r_id' => $benutzer->getRolle()->getR_id(),
                    
    'g_id' => $benutzer->getGruppe()->getG_id(),
            );
            
                
            if (
    null === ($b_id $benutzer->getB_id())) {
                unset(
    $data['b_id']);
                
    $this->getDbTable()->insert($data);
            } else {
                
    $this->getDbTable()->update($data, array('b_id = ?' => $b_id));
            }
        } 
    Edit: Wenn ich mir im Controller mittels: $form->getValue('rolle') den in der Form eingegebenen Wert für die Rolle ausgeben lassen möchte, dann wird jedes Mal der Wert 1 ausgegeben. Im DropDown Menü erscheinen aber die korrekten Bezeichnungen der Rolle- bzw. Gruppe- Objekte.

    Was mir nicht ganz klar ist, ist wie ich es hinbekommen kann, dass die Objekte (Rolle, Gruppe) aus der Form im Benutzerobjekt landen, das im Controller initialisiert wird.
    Hat wer von euch eine Idee?

    Vielen Dank schonmal für Eure Hilfe!

    VG Martin
    Geändert von Maddin1604 (27.11.2015 um 22:51 Uhr)

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.455
    Thanks
    3
    Thanked 346 Times in 277 Posts

    Standard

    Willkommen im Forum!
    Zitat Zitat von Maddin1604 Beitrag anzeigen
    Ich arbeite mich gerade in das Zend Framework (v. 1.12.7) ein und stehe vor folgendem Problem:
    Dein Problem ist ein ganz anderes: du arbeitest dich in eine falsche Version ein! Version 3 vom ZF steht vor der Tür und Version 1 wird demnächst nur noch Sicherheits-Updates erhalten. Lass also ZF1 ganz schnell liegen und fange mit Version 2 und den Neuerungen für ZF3 aus den verschiedenen Komponenten an.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. #3
    Neuer Benutzer
    Registriert seit
    26.11.2015
    Beiträge
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Hey! Erstmal danke für deine Antwort! Dieser Umstand ist mir durchaus bewusst. Ich verwende das Framework für ein Praktikum an der Uni. In meiner Gruppe sind die Programmierkenntnisse relativ gering. Allerdings haben zwei von uns (ich inklusive) bereits mit einem Framework Erfahrung, das dem Zend Framework 1 ähnelt. Daher ist es für uns wohl die praktikabelste Lösung, um neben zahlreicher weiterer Kurse im vorgegeben Zeitraum mit dem Projekt fertigzuwerden!

  4. #4
    Neuer Benutzer
    Registriert seit
    26.11.2015
    Beiträge
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Niemand eine Idee?

  5. #5
    Erfahrener Benutzer
    Registriert seit
    18.08.2010
    Beiträge
    110
    Thanks
    7
    Thanked 1 Time in 1 Post

    Standard

    Liegt echt nicht daran, dass niemand helfen will, da bin ich mir sicher. Aber ZF1 liegt mittlerweile schon Jahre zurück. Und damals war ich selbst noch Einsteiger und habe daran im Studium gelernt.

    Ich versuche mir trotzdem mal Deine Codebeispiele reinzudenken.

    Da völlig korrekt oben im addElement die ID's der Datensätze reingegeben werden, frage ich direkt mal nach: Bist Du sicher, dass es sich bei dem Wert den Du dir ausgeben lässt (value = 1) nicht völlig korrekterweise um die Datenbank-ID des Datensatzes von "Rolle" handelt? Weil die Bezeichner dienen nur dem Benutzer - man verarbeitet intern ja stets mit den ID's der Datensätze. Aus den Formularen kriegt man dann auch in erster Linie die "values" zurückgegeben und nicht die bezeichner (allenfalls additional). Alles andere wäre haarsträubend.

    Ansonsten denke ich nun an die normalen Formen des Debuggings: Sieht das Formular im Browser mit den hineingegebenen Daten auch genau so aus, wie es sollte?

    Wie sieht denn das komplette Objekt aus, was bei Dir im Controller landet?
    Geändert von Powers (01.12.2015 um 17:11 Uhr)

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 03.07.2015, 16:21
  2. ServiceManager factory erzeugt kein Datenbank Adapter Objekt?
    Von DonKanallie im Forum ZF2 Grundlagen
    Antworten: 9
    Letzter Beitrag: 07.08.2012, 13:45
  3. Antworten: 2
    Letzter Beitrag: 02.01.2012, 17:31
  4. Dateinamen in Datenbank speichern
    Von HeinzHarald im Forum Formulare
    Antworten: 1
    Letzter Beitrag: 25.10.2009, 14:28
  5. Antworten: 29
    Letzter Beitrag: 19.01.2008, 15:26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •