[ZEND] Insert niet werken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Raoul -

- Raoul -

10/06/2012 19:51:45
Quote Anchor link
Hallo PHP'ers,

Ik probeer via Zend een rij toe te voegen maar het lukt niet echt, hij geeft geen errors of niks en hij voegt niks toe...

Controller die de user zelf toevoegt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

class IndexController extends Zend_Controller_Action
{

    public function init()
    {
    }


    public function indexAction()
    {

        $user = new Application_Model_User();

        $user->createUser(array(
            'username' => 'Raoul',
            'password' => 'test'
        ));
    }


}

?>


Vervolgens de model zelf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

class Application_Model_User
{

    public function createUser($userData)
    {

        $dbTable = new Application_Model_DbTable_User();
        
        $dbTable->insert($userData);
    }

}


?>


En dan de DbTable:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{

    protected $_name = 'users';
    protected $_primary = 'id';


}

?>


Iemand die mij kan helpen?

Bedankt

EDIT: Heb het al werkend, in de configuration moest blijkbaar ook een password value voor de database, ik dacht dat dat niet nodig was omdat ik namelijk geen wachtwoord had op de MySQL server.

Ik kreeg geen error over zoiets omdat phpSettings.display_startup_errors en phpSettings.display_errors allebei op 0 stonden terwijl dat op 1 moest staan!

Maar is deze code wel verder goed volgens de Zend standaarden?
Gewijzigd op 10/06/2012 20:27:25 door - Raoul -
 
PHP hulp

PHP hulp

22/12/2024 11:29:40
 
Niels K

Niels K

16/06/2012 14:39:56
Quote Anchor link
Hoi Raoul,

Sorry voor de late reactie maar ik wilde je hem niet onthouden.

Je kan met Zend Framework ook middels Row classes werken.
Je moet in je DbTable object dan de volgende var toevoegen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    protected $_rowClass = 'Application_Model_User';
?>


Een nieuwe gebruiker aanmaken doe je dan als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$table
= new Application_Model_DbTable_User();

// Genereren
$user = $table->createRow();

// evt aanpassingen op het User opbject
$user->foo();

// Opslaan
$user->save();

?>


Niels
 
- Raoul -

- Raoul -

16/06/2012 14:55:37
Quote Anchor link
Hoi Niels,

Bedankt voor je reactie.
Wat kan je dan allemaal veranderen in het user object? En kan je ook andere acties doen dan createRow()?

Of heb je een linkje naar de documentatie hiervan, dan kan ik het eens bekijken.
 
Niels K

Niels K

16/06/2012 15:29:50
Quote Anchor link
Hoi Raoul,

Alles? Het een representatie van een row uit de database.

Uh, ja je hebt update / delete / select ;-)

Zoek maar eens op Zend Db Table Row principe.

Niels
 
- Raoul -

- Raoul -

16/06/2012 16:09:28
Quote Anchor link
Dan heb ik nog een vraagje over DbTable's, mag je deze ook gebruiken buiten een controller?
Alvast bedankt.
 
Niels K

Niels K

16/06/2012 16:16:48
Quote Anchor link
Natuurlijk ;-)
 
- Raoul -

- Raoul -

16/06/2012 16:20:48
Quote Anchor link
Maar in de DbTable zeg je toch dat dat de rowclass enkel door een bepaalde model mag gebruikt worden?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
protected $_rowClass = 'Application_Model_User';

Wat is dan nog het nut van die class?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.