gpt4 book ai didi

php - 如何在正确的目录中使用 namespace 构建推进模型?

转载 作者:行者123 更新时间:2023-12-04 16:52:31 25 4
gpt4 key购买 nike

我的类的默认目录是:app/

Composer 自动加载配置为:

{
"autoload": {
"psr-4": { "App\\": "app/" }
}
}

在 propel 的 schema.xml 上,我的命名空间是 "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>

我的 propel.php.dist 是:

<?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'
]
]
];

当我执行 vendor/bin/propel model:build 时,结果结构如下:

/app/
|___Models/
|___App/
|___Models/
|___Base/
|___Map/
|___Country.php
|___CountryQuery.php
|___User.php
|___UserQuery.php

我需要这样的结构:

/app/
|___Models/
|___Base/
|___Map/
|___Country.php
|___CountryQuery.php
|___User.php
|___UserQuery.php

我尝试了本手册中的所有组合:Database Attributes

有没有不同的方法来解决这个问题?

提前致谢。

最佳答案

您想将 generator.namespaceAutoPackage 设置为“false”。然后确保您仍然将 paths.phpDir 设置为“app/Models”,并在 schema.xml 文件中将数据库命名空间设置为“App\Models”。

http://propelorm.org/documentation/reference/configuration-file.html#generator-settings

关于php - 如何在正确的目录中使用 namespace 构建推进模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38054510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com