Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-01-2012 11:36:31

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

[RESOLU][Zend_db][1.11.9] Faire une requete à la main et non Zendifiée

Boujour à tous,
autant que possible j'essaie de zendifier mes requetes mais
ce que je veux faire c'est une requete suite à un formulaire de recherche.

Impossible donc de Zendifier la requete : je procède par concaténation de morceaux de SQL.

Ma question est donc la suivante , actuellement je fais des

Code:

$TMatable = new Application_Model_DbTable_Matable();
     $select   = $TMatable ->select()
->setIntegrityCheck(false)
->from ...
->joinleft ...
 ->where ...
->orWhere ...
->group ...
->order ...

$page = Zend_Paginator::factory($select);
...

comment faire pour mettre directement ma requete SQL à la main ?
par exemple $sql sera ma requete concaténée en fonction des options de recherche que l'utilisateur aura selectionnées

J'essaie  avec ceci :

Code:

$TMatable = new Application_Model_DbTable_Matable();
     $select   = $TMatable ->$sql;

Mais il m'insulte avec "
Exception information:
Message: No adapter for type NULL "

Un message surement clair pour vous big_smile


Edit : si je fais un exit("$sql"); j'obtiens bien ma requete et elle est valide.

Dernière modification par manuzed78 (06-01-2012 13:27:53)

Hors ligne

 

#2 05-01-2012 12:03:14

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: [RESOLU][Zend_db][1.11.9] Faire une requete à la main et non Zendifiée

Code:

$sql = 'REQUETE SQL';
$results = $TMatable->getAdapter()->fetchAll($sql);
$page = Zend_Paginator::factory($results);

Mais de préférence, créé une méthode dans ton model qui retournera $results.

Hors ligne

 

#3 05-01-2012 12:03:51

r.monceau
Membre
Date d'inscription: 02-11-2009
Messages: 59

Re: [RESOLU][Zend_db][1.11.9] Faire une requete à la main et non Zendifiée

Salut,

Alors il y a plusieurs manières de faire. En voici toujours une qui semble correspondre à ce que tu désires ^^

Code:

$db = Zend_Db_Table::getDefaultAdapter();
$datas = $db->query($sql)->fetchAll();
Zend_Paginator::factory($datas);

Edit : Arf doublé ^^

Dernière modification par r.monceau (05-01-2012 12:04:30)

Hors ligne

 

#4 06-01-2012 13:27:31

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [RESOLU][Zend_db][1.11.9] Faire une requete à la main et non Zendifiée

OK super,
merci pour vos posts big_smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages