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

MkFramework Discussion :

Contraintes sur les clés primaires des tables?


Sujet :

MkFramework

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut Contraintes sur les clés primaires des tables?
    Bonjour a tous,

    J'ai découvert MKF il y a 3 jours et ayant suivi les tuto video j'ai remarqué que les tables de la base de données avaient toutes pour clés primaires "id" de type "INT".

    1) Est-ce une obligation? Puis-je avoir des tables dont la clé primaire est par exemple l'E-mail ou une chaine de caractères(VARCHAR)?

    J'ai aussi remarqué dans les controlleurs (main.php) des modules, la fonction processSave() qui contient le code suivant:
    $iId=_root::getParam('id',null);
    if($iId==null){
    $oCandidats=new row_candidats;
    }else{
    $oCandidats=model_candidats::getInstance()->findById( _root::getParam('id',null) );
    }

    2)Je ne comprend pas bien les parties en gras:'id' doit-il être de type 'INT'? Si la clé primaire de la table 'candidats' est l'E-mail, que faire lorsque je veux éditer un enregistrement?

    Désolé pour toutes ces questions mais je veux vraiment percer avec ce framework alors aidez moi s'il vous plait.

    merci d'avance.

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonjour et bienvenue

    Pour la première question: c'est un exemple que j'utilise souvent, mais ne vous inquiétez pas votre id peut s'appeler comme vous le souhaitez: pkey ou autre

    Par contre, en ce qui concerne son type, il vaut mieux que ce soit un entier, les clés de types varchar ou autre peuvent poser des soucis dans certains cas de génération automatique par le builder
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Merci beaucoup pour la réponse.

    J'en ai une autre: MkFramework prend t-il en compte les tables associations? C'est à dire la table résultant d'une relation plusieurs à plusieurs? Cette table aura donc deux clés étrangères dont la combinaison représente la clé primaire.

    Comment faire pour que le builder génère la fonction getSelect() en prenant pour clé la combinaison des deux clé étrangères de cette table association?

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    L'ORM est ultra simple, on est loin d'un ORM type doctrine/propel/hibernate
    Vous avez ici la main sur les requetes SQL, vous pouvez donc écrire vos jointures aux ptits oignons

    Le getSelect, fourni un tableau indexé à partir d'une requete écrite dans la classe modèle: rien de magique ni de sous entendu, tout est visible et modifiable selon vos besoins
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Très bien, merci pour l'aide et a bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contrainte sur les attributs des tables référencées
    Par prgasp77 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/12/2010, 18h00
  2. Informations sur les clés d'une table
    Par ludogoal dans le forum Développement
    Réponses: 2
    Dernier message: 29/06/2010, 11h02
  3. Paginate avec des conditions sur les clés etrangères.
    Par CeDRiC08 dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 03/07/2007, 09h49
  4. savoir les clés primaires d'une table
    Par hamdani dans le forum Administration
    Réponses: 6
    Dernier message: 21/05/2007, 16h54
  5. [C#] Probleme sur les clés primaires composites
    Par stardeus dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/02/2005, 23h28

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