répertoire par défaut pour mes cours est: app/Comment faire propel construire des modèles avec des espaces de noms dans le bon répertoire?
Composer config est autoload:
{
"autoload": {
"psr-4": { "App\\": "app/" }
}
}
Sur le schema.xml Propel mon espace de noms est "App\Models"
<database name="default" defaultIdMethod="native"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://xsd.propelorm.org/1.6/database.xsd"
namespace="App\Models"
>
<table name="user">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
<column name="email" type="varchar" size="255" required="true"/>
<column name="password" type="varchar" size="60" required="true"/>
<column name="country_id" type="integer" required="true"/>
<column name="timezone" type="varchar" size="50" required="true"/>
<foreign-key foreignTable="country">
<reference local="country_id" foreign="id"/>
</foreign-key>
</table>
<table name="country">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
<column name="name" type="varchar" size="128" required="true"/>
</table>
</database>
Mon propel.php.dist est :
<?php
return [
'propel' => [
'paths' => [
// The directory where Propel expects to find your `schema.xml` file.
'schemaDir' => 'database/schemas',
// The directory where Propel should output generated object model classes.
'phpDir' => 'app/Models'
]
]
];
Lorsque j'ai execu te vendor/bin/propel model:build
la structure résultante est comme ceci:
/app/
|___Models/
|___App/
|___Models/
|___Base/
|___Map/
|___Country.php
|___CountryQuery.php
|___User.php
|___UserQuery.php
J'ai besoin que la structure soit comme ceci:
/app/
|___Models/
|___Base/
|___Map/
|___Country.php
|___CountryQuery.php
|___User.php
|___UserQuery.php
J'ai essayé toutes les combinaisons dans ce manuel: Database Attributes
est-il une autre façon aborder cela?
Merci d'avance.
Pay attencion à la "\" - l'espace de noms racine –