J'ai utilisé Propel 2 et je veux avoir les noms de colonne pour PHP tout comme ils sont dans la DB. J'ai utilisé un schema.xml comme ceci:Propel - comment puis-je définir le nom de la colonne pour PHP même que dans DB automatiquement
<?xml version="1.0" encoding="UTF-8"?>
<database name="timetable" defaultIdMethod="native">
\t <table name="entry" phpName="Entry">
\t \t <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
\t \t <column name="date" type="date" required="true" />
\t \t <column name="timeBegin" phpName="timeBegin" type="time" required="true" />
\t \t <column name="timeEnd" type="time" required="true" />
\t \t <column name="description" type="varchar" size="128" required="true" />
\t \t <column name="expert_id" type="integer" required="true"/>
\t \t <column name="project_id" type="integer" required="true"/>
\t \t <foreign-key foreignTable="expert" phpName="Expert" refPhpName="Entry">
\t \t \t <reference local="expert_id" foreign="id"/>
\t \t </foreign-key>
\t \t <foreign-key foreignTable="project" phpName="Project" refPhpName="Entry">
\t \t \t <reference local="project_id" foreign="id"/>
\t \t </foreign-key>
\t </table>
</database>
Propel génère par cela les noms des tables et des colonnes. Les noms dans la base de données mySQL sont écrits correctement, comme décrit dans le fichier schema.xml. Mais par défaut, Propel génère les noms des colonnes en PHP avec une majuscule et tout ce qu'il y a derrière est en minuscule. Ce n'est pas ce que je veux, je suis par exemple "T ime e e" au lieu de "t ime E e" Regardez cette requête facile:
<?php
\t require 'vendor/autoload.php';
\t include "generated-conf/config.php";
\t
\t $entry = EntryQuery::create()
\t ->find()
\t ->exportTo('JSON');
\t
\t echo $entry;
{"Entries":{"Entry_0":{"Id":1,"Date":"11.09.2015","timeBegin":"09:00","Timeend":"19:00","Description":"","ExpertId":5,"ProjectId":7}}}
ce que je veux est la suivante:
i d,
d mangé,
t ime
B Egin,
t ime E nd,
d escription,
e xpertId,
p rojectId (ou expert_id, project_id).
Je sais que je peux forcer Propel à le faire en utilisant pour chaque colonne phpName = "timeBegin" et ainsi de suite (comme je le fais juste pour demonstraiting dans l'exemple ci-dessus), mais je trouve cela gênant. Cela devrait être possible par certains paramètres peut-être dans le propel.xml