IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

doit on utiliser setIntegrityCheck(false) ?


Sujet :

Zend_Db PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 59
    Par défaut doit on utiliser setIntegrityCheck(false) ?
    Bonjour,

    en tentant de faire une jointure entre une table fille et sa table parent, j'obtenais systématiquement le message d'erreur:

    Select query cannot join with another table in ...
    en fouillant sur le net, je suis tombé sur ce blog:
    http://lermit-informatique.blogspot....51359204482961

    Ceci est du à Zend Framework qui n'autorise pas par défaut de faire une simple jointure sur une table sous jacente.
    et conseil donc d'ajouter en début du select:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $select = $this->select()
            ->setIntegrityCheck(false)
    Cela a en effet résolu mon problème. Toutefois, comme je ne trouve pas trace de ce conseil dans la doc, je me demande si il s'agit vraiment de la 'bonne' solution.

    est-ce une bonne pratique ?
    Etes-vous vous-même confronté à ce problème et comment le résolvez vous ?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Par défaut
    La solution du setIntegrityChek est "une solution de facilitée", il faut savoir que dés que tu exécute une requête via zend_db celui-ci interroge les schémas de ta base de données ainsi que celui des tables concernées.

    Dans ton cas tu ne doit pas avoir de contrainte d'intégrité (clé étrangères) dans ta table filles.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 59
    Par défaut
    Citation Envoyé par peterexia Voir le message
    Dans ton cas tu ne doit pas avoir de contrainte d'intégrité (clé étrangères) dans ta table filles.
    merci de me répondre

    Je ne "dois" pas, c'est à dire: (désolé d'être un boulet)

    - Il y en a et je ne devrais pas en avoir
    - Il n'y en a pas et il devrait y en avoir

    Parles-tu des contrainte de la table inodb ou bien du mapping dans le model ?

    Concrètement, j'ai des dépendances entre mes tables SQL.
    Elles sont réalisées avec MysqlWorkBench, et sont donc créé via des index.
    J'ai mis des clauses cascade partout.

    Avec ou sans Maping dans le modèle j'ai le message d'erreur (bon, ok, peut-être avec un mapping mal fait ).
    J'ai cru comprendre qu'avec inodb, $_dependTable et $_referenceMap sont facultatifs, c'est bien ça ?

    merci encore pour votre attention ^^

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Par défaut
    Pour moi,
    - Il n'y en a pas et il devrait y en avoir
    Concrètement, j'ai des dépendances entre mes tables SQL.
    Elles sont réalisées avec MysqlWorkBench, et sont donc créé via des index.
    J'ai mis des clauses cascade partout.

    Avec ou sans Maping dans le modèle j'ai le message d'erreur (bon, ok, peut-être avec un mapping mal fait ).
    J'ai cru comprendre qu'avec inodb, $_dependTable et $_referenceMap sont facultatifs, c'est bien ça ?
    Je te renvoi vers ceci :

    http://framework.zend.com/manual/fr/...tionships.html

    Note: Si votre SGBD implémente le mécanisme des cascades, alors vous n'avez pas besoin de déclarer $_dependentTables. Voyez Opérations d'écritures en cascade pour plus d'informations.

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/02/2010, 11h28
  2. L'accès aux données dans silverlight ? que doit on utiliser
    Par hirochirak dans le forum Silverlight
    Réponses: 16
    Dernier message: 24/08/2009, 10h55
  3. Réponses: 0
    Dernier message: 02/09/2008, 12h14
  4. Quel language doit-je utiliser pour Oracle ou MYSQL ?
    Par visualnotbasic dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 19/03/2007, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo