Я использовал Propel 2 и хочу, чтобы имена столбцов для PHP были такими же, как в DB. Я использовал schema.xml так:Propel - как я могу установить имя столбца для PHP так же, как и в БД автоматически
<?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 генерирует от этого названия для таблиц и столбцов. Имена в базе данных mySQL записываются корректно, как описано в schema.xml. Но по умолчанию Propel генерирует имена столбцов в PHP с большой буквы, а все позади - строчными буквами. Это не то, что я хочу, я, например, «T IME е й» вместо «т IME E й» Посмотрите на этот простой запрос:
<?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}}}
То, что я хочу это:
я d, d
ели,
т IME
В Egin,
т IME
Е й, д
ПИСАНИЕ,
е xpertId,
р rojectId (или expert_id, project_id).
Я знаю, что могу заставить Propel сделать это, используя для каждого столбца phpName = «timeBegin» и т. Д. (Например, я просто для демонстрации в примере выше), но я считаю это неудобным. Это должно быть возможно с помощью некоторых настроек, возможно, в propel.xml