Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
les résultats sont t'il récupérer dans l'objet si tu fait
$usersTbl=new Model_DbTable_Users(); Zend_Debug::dump($usersTb);
Hors ligne
Fatal error: Class Model_DbTable_Users contains 14 abstract methods and must therefore be declared abstract or implement the remaining methods (Zend_Db_Adapter_Abstract::listTables, Zend_Db_Adapter_Abstract::describeTable, Zend_Db_Adapter_Abstract::_connect, ...) in /opt/lampp/htdocs/test/application/models/DbTable/Users.php on line 6
Dernière modification par inzaghi (25-08-2011 14:49:47)
Hors ligne
Ca ne serai pas plutôt ça ??
$table = new Application_Model_DbTable_Cars();
avec zen tool je pense que tu n'aurai pas de soucie avec meme si netabeans te crée le dossier, je l'utilise aussi mais je n'utilise pas l'environement zend, peut être que c'est une version antérieur qu'il ont intégré ?
Hors ligne
L'erreur que j'ai trouvé c'est le User était en miniscule mais le problème c'est au niveau de l'abstract
Hors ligne
Donne le code de ta classe.
Le problème vient du fait que tes méthodes sont abstract, mais pas ta classe.
Soit tu supprimes le mot clé abstract devant les méthodes, et tu les implémentes.
Soit tu ajoutes le mot clé abstract devant la déclaration de ta classe :
[lang=php]abstract class Model_DbTable_Users extends...
Hors ligne
<?php
abstract class Model_DbTable_Users extends Zend_Db_Adapter_Abstract{
protected $_name='users';
}
?>
L'erreur :
Fatal error: Cannot instantiate abstract class Model_DbTable_Users in /opt/lampp/htdocs/test/application/controllers/UsersController.php on line 17
Hors ligne
En effet, si tu as des méthodes abstraites, tu peux pas instancier la classe, mais là ce n'est pas du ZF, c'est de la POO...
Pourquoi tes méthodes et ta classe sont-elles abstraites ?
Hors ligne
J'ai enlevé abstract de la classe alors j'ai eu l'erreur que j'avais avant de mettre abstract
Hors ligne
Pourrais-tu mettre le code de ta classe Model_DbTable_Users ?
Hors ligne
<?php
class Model_DbTable_Users extends Zend_Db_Adapter_Abstract{
protected $_name='users';
}
?>
Hors ligne
Une idée sur mon problème ?
Hors ligne
Ta classe ne devrait-elle pas étendre Zend_Db_Table_Abstract plutôt que Zend_Db_Adapter_Abstract ?
Hors ligne
J'ai eu l'erreur suivante :
Fatal error: Class Model_DbTable_Users contains 14 abstract methods and must therefore be declared abstract or implement the remaining methods (Zend_Db_Adapter_Abstract::listTables, Zend_Db_Adapter_Abstract::describeTable, Zend_Db_Adapter_Abstract::_connect, ...) in /opt/lampp/htdocs/test/application/models/DbTable/Users.php on line 15
Hors ligne
J'ai fait cette modification :
<?php
class Model_DbTable_Users extends Zend_Db_Table_Abstract{
protected $_name='users';
public function getBookById($id)
{$db=Zend_Db_Table::getDefaultAdapter();
$query=$db->select()
->from('users',array('id','username','password'))
-where('users.id=?',$id);
return $db->fetchRow($query);
}
}
?>
mais j'obtiens ça :
1
object(Model_DbTable_Users)#24 (18) {
["_name":protected] => string(5) "users"
["_definition":protected] => NULL
["_definitionConfigName":protected] => NULL
["_db":protected] => object(Zend_Db_Adapter_Pdo_Mysql)#13 (12) {
["_pdoType":protected] => string(5) "mysql"
["_numericDataTypes":protected] => array(16) {
[0] => int(0)
[1] => int(1)
[2] => int(2)
["INT"] => int(0)
["INTEGER"] => int(0)
["MEDIUMINT"] => int(0)
["SMALLINT"] => int(0)
["TINYINT"] => int(0)
["BIGINT"] => int(1)
["SERIAL"] => int(1)
["DEC"] => int(2)
["DECIMAL"] => int(2)
["DOUBLE"] => int(2)
["DOUBLE PRECISION"] => int(2)
["FIXED"] => int(2)
Hors ligne
Quand tu dis "j'obtiens ça", tu fais quoi pour avoir ce résultat ?
Hors ligne
j'ai fait la modification Db_Table que tu m'a reommondé
Hors ligne
Oui mais quelle est la sortie attendue ?
Où est le code d'affichage ?
Hors ligne
<html><table>
<?php
foreach($this->users as $users){
echo "<tr><td> $users->id</td></tr>";
}
?>
</table></html>
Hors ligne
Et tu as pas un seul utilisateur d'id 1 dans ta table pas hasard ?
Sinon, d’où vient ton Zend_Debug::dump ?
Hors ligne
ça fonctionne maintenant si je peux ajouter l'ajout , modification et supression de la table comme je dois procéder ?
Hors ligne
As-tu suivi un tutoriel ? Je te conseille celui d'Akrabat (Rob Allen) traduit en français : Débuter avec Zend Framework
Hors ligne