SELECT sur une vue ORACLE (ZendFramework)
Bonjour à tous,
Je cherche à faire un fetchAll sur une vue créée sous Oracle, mais j'ai cette erreur qui ressort : "Primary key column(s) (num_ligne) are not columns in this table ()"
"num_ligne" est déclaré en tant que clé primaire dans le model DbTable :
Code:
protected $_primary = 'num_ligne';
De plus la vue contient bien le champs "num_ligne" :
Code:
SQL>SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = 'FIDELIO_RESAS_2';
j'ai bien "num_ligne" qui ressort dans COLUMN_NAME
Tout mon code marche sur d'autres BDD Oracle, j'ai fais un copié collé des modeles de DbTable, vues etc... Si je change juste la DB le code marche.
Le setDbTable fonctionne, mais le problème survient au moment du select, dans le fetchAll :
Code:
1 2 3
| $select = $this->getDbTable()
->select()
->from($this->getDbTable()); |
Le morceau de code dans /usr/local/zend/share/ZendFramework/library/Zend/Db/Table/Abstract.php qui renvoit l'erreur :
Code:
1 2 3 4 5 6 7 8 9
| $cols = $this->_getCols();
if (! array_intersect((array) $this->_primary, $cols) == (array) $this->_primary) {
require_once 'Zend/Db/Table/Exception.php';
throw new Zend_Db_Table_Exception("Primary key column(s) ("
. implode(',', (array) $this->_primary)
. ") are not columns in this table ("
. implode(',', $cols)
. ")");
} |
Si vous voyez un truc que j'ai loupé.. C'est pourtant du copié collé de code qui fonctionne, peut-être que cette DB fonctionne différemment, je ne sais pas..
Merci de m'éclairer :)