[symfony] récupérer les données d'une jointure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [symfony] récupérer les données d'une jointure

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 09 avr. 2010, 10:13

:)

Re: [symfony] récupérer les données d'une jointure

par zeus » 09 avr. 2010, 10:04

Il est étrange qu'en ayant fait une erreur dans le schéma, tu ais obtenue une requête qui te retournait le résultat voulu, mais qui ne le transmettais pas ;)

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 18:31

je vous remerci énormément pour votre aide

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 18:07

j'ai trouvé d'où provient le souci
du fichier schema.yml,
j'ai fais une erreur de relation dans le fichier schema.yml

Code : Tout sélectionner

rayon: foreignAlias: rayon local: codearticle foreign: coderayon type: many
or, j'aurai du faire

Code : Tout sélectionner

rayon: foreignAlias: rayon local: coderayon foreign: coderayon type: many

je vais regénérer le fichier et consulter le résultat

Re: [symfony] récupérer les données d'une jointure

par stealth35 » 08 avr. 2010, 15:22

un $q->rayon->toArray() devrais te retourner tes données

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 14:49

il est un peu long,
/**
 * Basearticles
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property decimal $codearticle
 * @property string $ref
 * @property string $designationarticle
 * @property string $designationlongarticle
 * @property decimal $prixpublicht
 * @property decimal $prixconseilleht
 * @property decimal $prixhomologuerht
 * @property decimal $prixachatht
 * @property decimal $prixachathtmp
 * @property decimal $prixventeht
 * @property decimal $prixventehtmp
 * @property decimal $somqteachht
 * @property decimal $valqteachht
 * @property decimal $somqtevenht
 * @property decimal $valqtevenht
 * @property decimal $somqteachaccoht
 * @property decimal $valqteachaccoht
 * @property decimal $somqtevenaccoht
 * @property decimal $valqtevenaccoht
 * @property decimal $taccoachhtmp
 * @property decimal $taccovenhtmp
 * @property decimal $somqteachescht
 * @property decimal $valqteachescht
 * @property decimal $somqtevenescht
 * @property decimal $valqtevenescht
 * @property decimal $tescachhtmp
 * @property decimal $tescovenhtmp
 * @property decimal $deraccordcomach
 * @property decimal $derescompteach
 * @property decimal $deraccordcomven
 * @property decimal $derescompteven
 * @property decimal $tauxmarge
 * @property decimal $stockinitial
 * @property decimal $stockreel
 * @property decimal $stocktheorique
 * @property decimal $minstock
 * @property decimal $maxstock
 * @property decimal $cdeclients
 * @property decimal $cdefournisseurs
 * @property string $typevaleur
 * @property decimal $remisefrs
 * @property decimal $remise
 * @property decimal $minremise
 * @property decimal $maxremise
 * @property decimal $marge
 * @property string $image
 * @property string $gencode
 * @property decimal $garentie
 * @property string $typedureegarentie
 * @property string $observation
 * @property integer $gestionstock
 * @property integer $gestionconsigne
 * @property integer $conditionnement
 * @property integer $numeroserie
 * @property integer $bloque
 * @property integer $etatventetva
 * @property integer $etatventefodec
 * @property string $etatmouvmente
 * @property decimal $nbrutilisé
 * @property integer $codesousfamille_article
 * @property integer $codetva
 * @property integer $codefodec
 * @property integer $codemarque
 * @property integer $codeorigine
 * @property integer $codeunite
 * @property decimal $remise_vente
 * @property string $stockphysique
 * @property string $test1
 * @property string $test2
 * @property string $test3
 * @property string $test4
 * @property decimal $valqteremvenht
 * @property decimal $somqteremvenht
 * @property decimal $valqteremachht
 * @property decimal $somqteremachht
 * @property decimal $derremvenht
 * @property decimal $derremachht
 * @property decimal $tremvenhtmp
 * @property decimal $tremachhtmp
 * @property decimal $derprixachatht
 * @property integer $coderayon
 * @property decimal $ecartstock
 * @property decimal $prixrevient
 * @property decimal $largeur
 * @property decimal $epaisseur
 * @property decimal $longeur
 * @property integer $nbrepiece
 * @property integer $etatachattva
 * @property float $pvp
 * @property SousfamillesArticles $SousfamillesArticles
 * @property Tva $Tva
 * @property Fodec $Fodec
 * @property Marques $Marques
 * @property Origines $Origines
 * @property Unites $Unites
 * @property Doctrine_Collection $ArtCli
 * @property Doctrine_Collection $ArtFrs
 * @property Doctrine_Collection $ArticleRayon
 * @property Doctrine_Collection $Articledetailledepot
 * @property Doctrine_Collection $ConditionnementArticles
 * @property Doctrine_Collection $Criteres
 * @property Doctrine_Collection $LignesAvoirAchat
 * @property Doctrine_Collection $LignesAvoirVente
 * @property Doctrine_Collection $LignesBeAchat
 * @property Doctrine_Collection $LignesBlAchat
 * @property Doctrine_Collection $LignesBlRetourVente
 * @property Doctrine_Collection $LignesBlVente
 * @property Doctrine_Collection $LignesBsVente
 * @property Doctrine_Collection $LignesCmdAchat
 * @property Doctrine_Collection $LignesCmdVente
 * @property Doctrine_Collection $LignesDevisVente
 * @property Doctrine_Collection $LignesFactureAchat
 * @property Doctrine_Collection $LignesFactureVente
 * @property Doctrine_Collection $LignesMeAchat
 * @property Doctrine_Collection $LignesMesDepot
 * @property Doctrine_Collection $LignesMsVente
 * @property Doctrine_Collection $LignesRetourAchat
 * @property Doctrine_Collection $rayon
 * @property Doctrine_Collection $Substituts
 * @property Doctrine_Collection $Substituts_2
 * @property Doctrine_Collection $TarifsArticles
 * 
 * @method decimal              getCodearticle()             Returns the current record's "codearticle" value
 * @method string               getRef()                     Returns the current record's "ref" value
 * @method string               getDesignationarticle()      Returns the current record's "designationarticle" value
 * @method string               getDesignationlongarticle()  Returns the current record's "designationlongarticle" value
 * @method decimal              getPrixpublicht()            Returns the current record's "prixpublicht" value
 * @method decimal              getPrixconseilleht()         Returns the current record's "prixconseilleht" value
 * @method decimal              getPrixhomologuerht()        Returns the current record's "prixhomologuerht" value
 * @method decimal              getPrixachatht()             Returns the current record's "prixachatht" value
 * @method decimal              getPrixachathtmp()           Returns the current record's "prixachathtmp" value
 * @method decimal              getPrixventeht()             Returns the current record's "prixventeht" value
 * @method decimal              getPrixventehtmp()           Returns the current record's "prixventehtmp" value
 * @method decimal              getSomqteachht()             Returns the current record's "somqteachht" value
 * @method decimal              getValqteachht()             Returns the current record's "valqteachht" value
 * @method decimal              getSomqtevenht()             Returns the current record's "somqtevenht" value
 * @method decimal              getValqtevenht()             Returns the current record's "valqtevenht" value
 * @method decimal              getSomqteachaccoht()         Returns the current record's "somqteachaccoht" value
 * @method decimal              getValqteachaccoht()         Returns the current record's "valqteachaccoht" value
 * @method decimal              getSomqtevenaccoht()         Returns the current record's "somqtevenaccoht" value
 * @method decimal              getValqtevenaccoht()         Returns the current record's "valqtevenaccoht" value
 * @method decimal              getTaccoachhtmp()            Returns the current record's "taccoachhtmp" value
 * @method decimal              getTaccovenhtmp()            Returns the current record's "taccovenhtmp" value
 * @method decimal              getSomqteachescht()          Returns the current record's "somqteachescht" value
 * @method decimal              getValqteachescht()          Returns the current record's "valqteachescht" value
 * @method decimal              getSomqtevenescht()          Returns the current record's "somqtevenescht" value
 * @method decimal              getValqtevenescht()          Returns the current record's "valqtevenescht" value
 * @method decimal              getTescachhtmp()             Returns the current record's "tescachhtmp" value
 * @method decimal              getTescovenhtmp()            Returns the current record's "tescovenhtmp" value
 * @method decimal              getDeraccordcomach()         Returns the current record's "deraccordcomach" value
 * @method decimal              getDerescompteach()          Returns the current record's "derescompteach" value
 * @method decimal              getDeraccordcomven()         Returns the current record's "deraccordcomven" value
 * @method decimal              getDerescompteven()          Returns the current record's "derescompteven" value
 * @method decimal              getTauxmarge()               Returns the current record's "tauxmarge" value
 * @method decimal              getStockinitial()            Returns the current record's "stockinitial" value
 * @method decimal              getStockreel()               Returns the current record's "stockreel" value
 * @method decimal              getStocktheorique()          Returns the current record's "stocktheorique" value
 * @method decimal              getMinstock()                Returns the current record's "minstock" value
 * @method decimal              getMaxstock()                Returns the current record's "maxstock" value
 * @method decimal              getCdeclients()              Returns the current record's "cdeclients" value
 * @method decimal              getCdefournisseurs()         Returns the current record's "cdefournisseurs" value
 * @method string               getTypevaleur()              Returns the current record's "typevaleur" value
 * @method decimal              getRemisefrs()               Returns the current record's "remisefrs" value
 * @method decimal              getRemise()                  Returns the current record's "remise" value
 * @method decimal              getMinremise()               Returns the current record's "minremise" value
 * @method decimal              getMaxremise()               Returns the current record's "maxremise" value
 * @method decimal              getMarge()                   Returns the current record's "marge" value
 * @method string               getImage()                   Returns the current record's "image" value
 * @method string               getGencode()                 Returns the current record's "gencode" value
 * @method decimal              getGarentie()                Returns the current record's "garentie" value
 * @method string               getTypedureegarentie()       Returns the current record's "typedureegarentie" value
 * @method string               getObservation()             Returns the current record's "observation" value
 * @method integer              getGestionstock()            Returns the current record's "gestionstock" value
 * @method integer              getGestionconsigne()         Returns the current record's "gestionconsigne" value
 * @method integer              getConditionnement()         Returns the current record's "conditionnement" value
 * @method integer              getNumeroserie()             Returns the current record's "numeroserie" value
 * @method integer              getBloque()                  Returns the current record's "bloque" value
 * @method integer              getEtatventetva()            Returns the current record's "etatventetva" value
 * @method integer              getEtatventefodec()          Returns the current record's "etatventefodec" value
 * @method string               getEtatmouvmente()           Returns the current record's "etatmouvmente" value
 * @method decimal              getNbrutilis()               Returns the current record's "nbrutilis" value
 * @method integer              getCodesousfamilleArticle()  Returns the current record's "codesousfamille_article" value
 * @method integer              getCodetva()                 Returns the current record's "codetva" value
 * @method integer              getCodefodec()               Returns the current record's "codefodec" value
 * @method integer              getCodemarque()              Returns the current record's "codemarque" value
 * @method integer              getCodeorigine()             Returns the current record's "codeorigine" value
 * @method integer              getCodeunite()               Returns the current record's "codeunite" value
 * @method decimal              getRemiseVente()             Returns the current record's "remise_vente" value
 * @method string               getStockphysique()           Returns the current record's "stockphysique" value
 * @method string               getTest1()                   Returns the current record's "test1" value
 * @method string               getTest2()                   Returns the current record's "test2" value
 * @method string               getTest3()                   Returns the current record's "test3" value
 * @method string               getTest4()                   Returns the current record's "test4" value
 * @method decimal              getValqteremvenht()          Returns the current record's "valqteremvenht" value
 * @method decimal              getSomqteremvenht()          Returns the current record's "somqteremvenht" value
 * @method decimal              getValqteremachht()          Returns the current record's "valqteremachht" value
 * @method decimal              getSomqteremachht()          Returns the current record's "somqteremachht" value
 * @method decimal              getDerremvenht()             Returns the current record's "derremvenht" value
 * @method decimal              getDerremachht()             Returns the current record's "derremachht" value
 * @method decimal              getTremvenhtmp()             Returns the current record's "tremvenhtmp" value
 * @method decimal              getTremachhtmp()             Returns the current record's "tremachhtmp" value
 * @method decimal              getDerprixachatht()          Returns the current record's "derprixachatht" value
 * @method integer              getCoderayon()               Returns the current record's "coderayon" value
 * @method decimal              getEcartstock()              Returns the current record's "ecartstock" value
 * @method decimal              getPrixrevient()             Returns the current record's "prixrevient" value
 * @method decimal              getLargeur()                 Returns the current record's "largeur" value
 * @method decimal              getEpaisseur()               Returns the current record's "epaisseur" value
 * @method decimal              getLongeur()                 Returns the current record's "longeur" value
 * @method integer              getNbrepiece()               Returns the current record's "nbrepiece" value
 * @method integer              getEtatachattva()            Returns the current record's "etatachattva" value
 * @method float                getPvp()                     Returns the current record's "pvp" value
 * @method SousfamillesArticles getSousfamillesArticles()    Returns the current record's "SousfamillesArticles" value
 * @method Tva                  getTva()                     Returns the current record's "Tva" value
 * @method Fodec                getFodec()                   Returns the current record's "Fodec" value
 * @method Marques              getMarques()                 Returns the current record's "Marques" value
 * @method Origines             getOrigines()                Returns the current record's "Origines" value
 * @method Unites               getUnites()                  Returns the current record's "Unites" value
 * @method Doctrine_Collection  getArtCli()                  Returns the current record's "ArtCli" collection
 * @method Doctrine_Collection  getArtFrs()                  Returns the current record's "ArtFrs" collection
 * @method Doctrine_Collection  getArticleRayon()            Returns the current record's "ArticleRayon" collection
 * @method Doctrine_Collection  getArticledetailledepot()    Returns the current record's "Articledetailledepot" collection
 * @method Doctrine_Collection  getConditionnementArticles() Returns the current record's "ConditionnementArticles" collection
 * @method Doctrine_Collection  getCriteres()                Returns the current record's "Criteres" collection
 * @method Doctrine_Collection  getLignesAvoirAchat()        Returns the current record's "LignesAvoirAchat" collection
 * @method Doctrine_Collection  getLignesAvoirVente()        Returns the current record's "LignesAvoirVente" collection
 * @method Doctrine_Collection  getLignesBeAchat()           Returns the current record's "LignesBeAchat" collection
 * @method Doctrine_Collection  getLignesBlAchat()           Returns the current record's "LignesBlAchat" collection
 * @method Doctrine_Collection  getLignesBlRetourVente()     Returns the current record's "LignesBlRetourVente" collection
 * @method Doctrine_Collection  getLignesBlVente()           Returns the current record's "LignesBlVente" collection
 * @method Doctrine_Collection  getLignesBsVente()           Returns the current record's "LignesBsVente" collection
 * @method Doctrine_Collection  getLignesCmdAchat()          Returns the current record's "LignesCmdAchat" collection
 * @method Doctrine_Collection  getLignesCmdVente()          Returns the current record's "LignesCmdVente" collection
 * @method Doctrine_Collection  getLignesDevisVente()        Returns the current record's "LignesDevisVente" collection
 * @method Doctrine_Collection  getLignesFactureAchat()      Returns the current record's "LignesFactureAchat" collection
 * @method Doctrine_Collection  getLignesFactureVente()      Returns the current record's "LignesFactureVente" collection
 * @method Doctrine_Collection  getLignesMeAchat()           Returns the current record's "LignesMeAchat" collection
 * @method Doctrine_Collection  getLignesMesDepot()          Returns the current record's "LignesMesDepot" collection
 * @method Doctrine_Collection  getLignesMsVente()           Returns the current record's "LignesMsVente" collection
 * @method Doctrine_Collection  getLignesRetourAchat()       Returns the current record's "LignesRetourAchat" collection
 * @method Doctrine_Collection  getRayon()                   Returns the current record's "rayon" collection
 * @method Doctrine_Collection  getSubstituts()              Returns the current record's "Substituts" collection
 * @method Doctrine_Collection  getSubstituts2()             Returns the current record's "Substituts_2" collection
 * @method Doctrine_Collection  getTarifsArticles()          Returns the current record's "TarifsArticles" collection
 * @method articles             setCodearticle()             Sets the current record's "codearticle" value
 * @method articles             setRef()                     Sets the current record's "ref" value
 * @method articles             setDesignationarticle()      Sets the current record's "designationarticle" value
 * @method articles             setDesignationlongarticle()  Sets the current record's "designationlongarticle" value
 * @method articles             setPrixpublicht()            Sets the current record's "prixpublicht" value
 * @method articles             setPrixconseilleht()         Sets the current record's "prixconseilleht" value
 * @method articles             setPrixhomologuerht()        Sets the current record's "prixhomologuerht" value
 * @method articles             setPrixachatht()             Sets the current record's "prixachatht" value
 * @method articles             setPrixachathtmp()           Sets the current record's "prixachathtmp" value
 * @method articles             setPrixventeht()             Sets the current record's "prixventeht" value
 * @method articles             setPrixventehtmp()           Sets the current record's "prixventehtmp" value
 * @method articles             setSomqteachht()             Sets the current record's "somqteachht" value
 * @method articles             setValqteachht()             Sets the current record's "valqteachht" value
 * @method articles             setSomqtevenht()             Sets the current record's "somqtevenht" value
 * @method articles             setValqtevenht()             Sets the current record's "valqtevenht" value
 * @method articles             setSomqteachaccoht()         Sets the current record's "somqteachaccoht" value
 * @method articles             setValqteachaccoht()         Sets the current record's "valqteachaccoht" value
 * @method articles             setSomqtevenaccoht()         Sets the current record's "somqtevenaccoht" value
 * @method articles             setValqtevenaccoht()         Sets the current record's "valqtevenaccoht" value
 * @method articles             setTaccoachhtmp()            Sets the current record's "taccoachhtmp" value
 * @method articles             setTaccovenhtmp()            Sets the current record's "taccovenhtmp" value
 * @method articles             setSomqteachescht()          Sets the current record's "somqteachescht" value
 * @method articles             setValqteachescht()          Sets the current record's "valqteachescht" value
 * @method articles             setSomqtevenescht()          Sets the current record's "somqtevenescht" value
 * @method articles             setValqtevenescht()          Sets the current record's "valqtevenescht" value
 * @method articles             setTescachhtmp()             Sets the current record's "tescachhtmp" value
 * @method articles             setTescovenhtmp()            Sets the current record's "tescovenhtmp" value
 * @method articles             setDeraccordcomach()         Sets the current record's "deraccordcomach" value
 * @method articles             setDerescompteach()          Sets the current record's "derescompteach" value
 * @method articles             setDeraccordcomven()         Sets the current record's "deraccordcomven" value
 * @method articles             setDerescompteven()          Sets the current record's "derescompteven" value
 * @method articles             setTauxmarge()               Sets the current record's "tauxmarge" value
 * @method articles             setStockinitial()            Sets the current record's "stockinitial" value
 * @method articles             setStockreel()               Sets the current record's "stockreel" value
 * @method articles             setStocktheorique()          Sets the current record's "stocktheorique" value
 * @method articles             setMinstock()                Sets the current record's "minstock" value
 * @method articles             setMaxstock()                Sets the current record's "maxstock" value
 * @method articles             setCdeclients()              Sets the current record's "cdeclients" value
 * @method articles             setCdefournisseurs()         Sets the current record's "cdefournisseurs" value
 * @method articles             setTypevaleur()              Sets the current record's "typevaleur" value
 * @method articles             setRemisefrs()               Sets the current record's "remisefrs" value
 * @method articles             setRemise()                  Sets the current record's "remise" value
 * @method articles             setMinremise()               Sets the current record's "minremise" value
 * @method articles             setMaxremise()               Sets the current record's "maxremise" value
 * @method articles             setMarge()                   Sets the current record's "marge" value
 * @method articles             setImage()                   Sets the current record's "image" value
 * @method articles             setGencode()                 Sets the current record's "gencode" value
 * @method articles             setGarentie()                Sets the current record's "garentie" value
 * @method articles             setTypedureegarentie()       Sets the current record's "typedureegarentie" value
 * @method articles             setObservation()             Sets the current record's "observation" value
 * @method articles             setGestionstock()            Sets the current record's "gestionstock" value
 * @method articles             setGestionconsigne()         Sets the current record's "gestionconsigne" value
 * @method articles             setConditionnement()         Sets the current record's "conditionnement" value
 * @method articles             setNumeroserie()             Sets the current record's "numeroserie" value
 * @method articles             setBloque()                  Sets the current record's "bloque" value
 * @method articles             setEtatventetva()            Sets the current record's "etatventetva" value
 * @method articles             setEtatventefodec()          Sets the current record's "etatventefodec" value
 * @method articles             setEtatmouvmente()           Sets the current record's "etatmouvmente" value
 * @method articles             setNbrutilis()               Sets the current record's "nbrutilis" value
 * @method articles             setCodesousfamilleArticle()  Sets the current record's "codesousfamille_article" value
 * @method articles             setCodetva()                 Sets the current record's "codetva" value
 * @method articles             setCodefodec()               Sets the current record's "codefodec" value
 * @method articles             setCodemarque()              Sets the current record's "codemarque" value
 * @method articles             setCodeorigine()             Sets the current record's "codeorigine" value
 * @method articles             setCodeunite()               Sets the current record's "codeunite" value
 * @method articles             setRemiseVente()             Sets the current record's "remise_vente" value
 * @method articles             setStockphysique()           Sets the current record's "stockphysique" value
 * @method articles             setTest1()                   Sets the current record's "test1" value
 * @method articles             setTest2()                   Sets the current record's "test2" value
 * @method articles             setTest3()                   Sets the current record's "test3" value
 * @method articles             setTest4()                   Sets the current record's "test4" value
 * @method articles             setValqteremvenht()          Sets the current record's "valqteremvenht" value
 * @method articles             setSomqteremvenht()          Sets the current record's "somqteremvenht" value
 * @method articles             setValqteremachht()          Sets the current record's "valqteremachht" value
 * @method articles             setSomqteremachht()          Sets the current record's "somqteremachht" value
 * @method articles             setDerremvenht()             Sets the current record's "derremvenht" value
 * @method articles             setDerremachht()             Sets the current record's "derremachht" value
 * @method articles             setTremvenhtmp()             Sets the current record's "tremvenhtmp" value
 * @method articles             setTremachhtmp()             Sets the current record's "tremachhtmp" value
 * @method articles             setDerprixachatht()          Sets the current record's "derprixachatht" value
 * @method articles             setCoderayon()               Sets the current record's "coderayon" value
 * @method articles             setEcartstock()              Sets the current record's "ecartstock" value
 * @method articles             setPrixrevient()             Sets the current record's "prixrevient" value
 * @method articles             setLargeur()                 Sets the current record's "largeur" value
 * @method articles             setEpaisseur()               Sets the current record's "epaisseur" value
 * @method articles             setLongeur()                 Sets the current record's "longeur" value
 * @method articles             setNbrepiece()               Sets the current record's "nbrepiece" value
 * @method articles             setEtatachattva()            Sets the current record's "etatachattva" value
 * @method articles             setPvp()                     Sets the current record's "pvp" value
 * @method articles             setSousfamillesArticles()    Sets the current record's "SousfamillesArticles" value
 * @method articles             setTva()                     Sets the current record's "Tva" value
 * @method articles             setFodec()                   Sets the current record's "Fodec" value
 * @method articles             setMarques()                 Sets the current record's "Marques" value
 * @method articles             setOrigines()                Sets the current record's "Origines" value
 * @method articles             setUnites()                  Sets the current record's "Unites" value
 * @method articles             setArtCli()                  Sets the current record's "ArtCli" collection
 * @method articles             setArtFrs()                  Sets the current record's "ArtFrs" collection
 * @method articles             setArticleRayon()            Sets the current record's "ArticleRayon" collection
 * @method articles             setArticledetailledepot()    Sets the current record's "Articledetailledepot" collection
 * @method articles             setConditionnementArticles() Sets the current record's "ConditionnementArticles" collection
 * @method articles             setCriteres()                Sets the current record's "Criteres" collection
 * @method articles             setLignesAvoirAchat()        Sets the current record's "LignesAvoirAchat" collection
 * @method articles             setLignesAvoirVente()        Sets the current record's "LignesAvoirVente" collection
 * @method articles             setLignesBeAchat()           Sets the current record's "LignesBeAchat" collection
 * @method articles             setLignesBlAchat()           Sets the current record's "LignesBlAchat" collection
 * @method articles             setLignesBlRetourVente()     Sets the current record's "LignesBlRetourVente" collection
 * @method articles             setLignesBlVente()           Sets the current record's "LignesBlVente" collection
 * @method articles             setLignesBsVente()           Sets the current record's "LignesBsVente" collection
 * @method articles             setLignesCmdAchat()          Sets the current record's "LignesCmdAchat" collection
 * @method articles             setLignesCmdVente()          Sets the current record's "LignesCmdVente" collection
 * @method articles             setLignesDevisVente()        Sets the current record's "LignesDevisVente" collection
 * @method articles             setLignesFactureAchat()      Sets the current record's "LignesFactureAchat" collection
 * @method articles             setLignesFactureVente()      Sets the current record's "LignesFactureVente" collection
 * @method articles             setLignesMeAchat()           Sets the current record's "LignesMeAchat" collection
 * @method articles             setLignesMesDepot()          Sets the current record's "LignesMesDepot" collection
 * @method articles             setLignesMsVente()           Sets the current record's "LignesMsVente" collection
 * @method articles             setLignesRetourAchat()       Sets the current record's "LignesRetourAchat" collection
 * @method articles             setRayon()                   Sets the current record's "rayon" collection
 * @method articles             setSubstituts()              Sets the current record's "Substituts" collection
 * @method articles             setSubstituts2()             Sets the current record's "Substituts_2" collection
 * @method articles             setTarifsArticles()          Sets the current record's "TarifsArticles" collection
 * 
 * @package    MoreHard
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
 */

je n'ai pas mis le contenu de tout le fichier puisqu'il est long, mais j'ai mis juste les commentaires de son contenu

Re: [symfony] récupérer les données d'une jointure

par stealth35 » 08 avr. 2010, 14:42

a quoi ressemble ton fichier BaseArticle.php ?

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 14:40

t'as essayé mon truc ?
oui, j'ai essayé,
j'ai modifié le fichier articlesTables.class.php comme suit
//articlesTable.class.php
$q = Doctrine_Core::getTable('Articles')->findBySQL('GestionStock = ? AND Stockreel >= ?', array(1, 'MinStock'));
return $q;
mais ça n'a pas marché et j'ai eu comme résultat:

Code : Tout sélectionner

500 | Internal Server Error | Doctrine_Record_UnknownPropertyException Unknown method articles::Rayon

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 14:35

Tu es sûre de l'exécuter sur la bonne base ?
oué, je suis sur la bonne base

Re: [symfony] récupérer les données d'une jointure

par stealth35 » 08 avr. 2010, 14:34

t'as essayé mon truc ?

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 14:33

@marwina32 : bon, alors le soucis se passe entre la récupération des données et la transmission au contrôleur.
Par contre, là, je seche un peu :-k
La requête exécutée seule retourne des enregistrements, mais pas via Doctrine ...
Tu es sûre de l'exécuter sur la bonne base ?
non, je pense que le soucis provient de la requête elle-même car lorsque je l'exécute depuis le browser mysql:
Select articles.CodeArticle AS 'CodeArticle',
articles.REF AS 'Reférence'  ,
articles.Designationarticle AS 'Désignation'  ,
articles.DesignationLongArticle AS 'Désignation Longue'  ,
articles.Stockreel AS 'Stock réel' ,
articles.MinStock  AS 'Stock Min' ,
articles.Stocktheorique AS 'Stock théorique'  ,
articles.GestionStock AS 'Géré.Stock'  ,
articles.Bloque AS 'Bloqué'  ,
rayon.Libellerayon AS 'Rayon'  
From articles
innerJoin rayon 
WHERE articles.GestionStock = '1' 
AND articles.Stockreel <= articles.MinStock
la fenêtre se ferme, j'ai répété l'opération plusieurs fois, et j'ai eu le même résultat, même si je ne fais pas une selection personnalisée, j'ai le même résultat

Re: [symfony] récupérer les données d'une jointure

par zeus » 08 avr. 2010, 14:15

@marwina32 : bon, alors le soucis se passe entre la récupération des données et la transmission au contrôleur.
Par contre, là, je seche un peu :-k
La requête exécutée seule retourne des enregistrements, mais pas via Doctrine ...
Tu es sûre de l'exécuter sur la bonne base ?

@agité : je ne m'énerve pas, je met juste le doigts sur un point qui me parrait sensible dans notre échange, à savoir ne pas deviner entre les mots que je peux dire.
Alors, pour commencer, si tu as 300 requêtes sur une page, ORM ou pas, il y a une optimisation à faire, et c'est certainement dû à une jointure manquante. Et, toujours ORM ou pas, les jointures sont toujours un point à penser à l'avance, et il faut toujours garder un oeil sur l'évolution du nombre de requêtes sur une page.
Maintenant, mon propos est que dans le cadre de l'utilisation d'un ORM, il vaut mieux faire des SELECT *, qui vont remplir correctement les objets, plutôt que des SELECT ciblé, qui vont remplir partiellement les objets, et qui sera source d'erreur quand tu appelleras le getter d'un attribut non rempli. Dans l'optique objet d'un ORM, charger des demi-objets est très dangereux puisque tu n'es pas sensé savoir quels sont les attributs qui vont être affiché, ni comment.
Ceci dit, il est toujours possible d'exécuter quelques requêtes de manière "non objet" (comprendre retourner un tableau de données plutôt qu'un tableau d'objet) et c'est quelques fois bien pratique, pour des requêtes sensible à optimiser. Mais cette pratique doit rester annexe dans le cadre de l'utilisation d'un ORM. Sinon, il n'a plus d'intérêt, et il suffirait d'utiliser un DBAL à ce compte là.

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 14:13


je l'ai éxécutée à la main, et elle m'a affiché les données sélectionnées

je suis désolée,
je n'ai pas exécuté cette requête à la main, j'ai exécuté celle-ci:
Select articles.CodeArticle AS 'CodeArticle',
articles.REF AS 'Reférence'  ,
articles.Designationarticle AS 'Désignation'  ,
articles.DesignationLongArticle AS 'Désignation Longue'  ,
articles.Stockreel AS 'Stock réel' ,
articles.MinStock  AS 'Stock Min' ,
articles.Stocktheorique AS 'Stock théorique'  ,
articles.GestionStock AS 'Géré.Stock'  ,
articles.Bloque AS 'Bloqué'  ,
rayon.Libellerayon AS 'Rayon'  
From articles , rayon 
WHERE articles.Coderayon = rayon.Coderayon 
AND  articles.GestionStock = '1' 
AND articles.Stockreel <= articles.MinStock
mais lorsque j'exécute la requête du ArticlesTables.class.php:
static public function getArticleRupture()
	{
	 $q=Doctrine_Query::create()
           ->select('a.codearticle,
                    a.ref,
                    a.designationarticle,
	            a.designationlongarticle,
	            a.stockreel,
	            a.minStock,
	            a.stocktheorique,
	            a.gestionstock,
          	    a.bloque,
            	    r.libellerayon')
           ->from('articles a')
           ->innerJoin('a.rayon r')
           ->Where('a.GestionStock=?','1')
           ->andWhere('a.Stockreel <=?','a.MinStock');
         return $q->execute();
	}
la fenêtre du browser Mysql s'est fermée, j'ai répété l'opération pas mal de fois, et j'ai toujours le même résultat

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 13:07

lorsque j'avais géré le schema.yml contenant les nouvelles modifications en miniscule, j'ai eu une nouvelle base: Basearticles.class.php avec deux nouveaux fichiers: articles.class.php et articlesTables.class.php,
j'ai modifier le fichier articlesTables.class.php comme suit:
<?php

class articlesTable extends Doctrine_Table
{
	static public function getArticleRupture()
	{
	 $q=Doctrine_Query::create()
           ->select('a.codearticle,
                    a.ref,
                    a.designationarticle,
	            a.designationlongarticle,
	            a.stockreel,
	            a.minStock,
	            a.stocktheorique,
	            a.gestionstock,
          	    a.bloque,
            	    r.libellerayon')
           ->from('articles a')
           ->innerJoin('a.rayon r')
           ->Where('a.GestionStock=?','1')
           ->andWhere('a.Stockreel <=?','a.MinStock');
         return $q->execute();
	}
}
pour le résultat j'ai eu le même résultat, et encore j'ai eu un 0 comme résultat du :
?php echo count($ruptures) ?>

Re: [symfony] récupérer les données d'une jointure

par marwina32 » 08 avr. 2010, 12:46

@marwina32 : dans ton indexSuccess.php, regarde le nombre d'éléments présents dans ta variable :
j'ai eu un 0 comme affichage #-o