我有一个简单的问题,我不明白为什么它不起作用...服务器:最新的 ZendServer CE,ZF:1.11.11,Doctrine:1.2.2
YAML 架构:
乌兹特科尼克: 表名:uzytkownicy 列: ID: 类型:整数 固定:假 无符号:真 主要:真 自动增量:真 uzytkownik_dane_id: 类型:整数 登录: 类型:字符串(64) 非空:真 哈斯洛: 类型:字符串(96) 非空:真 电子邮件: 类型:字符串(192) 非空:真 纳兹瓦: 类型:字符串(64) 关系: Uzytkownik丹麦人: 本地:uzytkownik_dane_id 国外:身份证 外号:Dane 外国类型:一 Uzytkownik丹麦人: 表名:uzytkownicy_dane 列: ID: 类型:整数 固定:假 无符号:真 主要:真 自动增量:真 咪咪: 类型:字符串(128) 纳兹维斯科: 类型:字符串(128) 克拉吉: 类型:字符串(32) wojewodztwo: 类型:字符串(64) 米耶斯科沃斯克: 类型:字符串(128) 地址: 类型:字符串(128) 科德: 类型:字符串(16) 电话: 类型:字符串(16) 关系: 乌兹特科尼克: 本地:身份证 外国:uzytkownik_dane_id
通过 Doctrine Cli build-all-reload 生成的模型:
hasOne('Application_Model_UzytkownikDane as UzytkownikDane', array( '本地' => 'uzytkownik_dane_id', '外国' => 'id')); } }
如您所见,学说 Cli 忽略了我的别名并设置默认值:Application_Model_UzytkownikDane as UzytkownikDane ... 为什么?第二件事是(可能很重要,我不知道......)当我从 yml 文件构建所有模型时,Doctrine Cli 输出错误:
build-all-reload - 您确定要删除数据库吗?(是/否) 是的 build-all-reload - 成功删除名为“doctrine”的连接的数据库 build-all-reload - 从 YAML 模式成功生成模型 build-all-reload - 成功为名为“doctrine”的连接创建数据库 SQLSTATE[HY000]: 一般错误: 1005 Can't create table 'testdb.#sql-188_3a' (e rrno:150)。查询失败:“ALTER TABLE uzytkownik ADD CONSTRAINT uzytkownik_uzy tkownik_dane_id_uzytkownik_dane_id 外键 (uzytkownik_dane_id) 参考 u zytkownik_dane(id)"。失败的查询:ALTER TABLE uzytkownik ADD CONSTRAINT uzytko wnik_uzytkownik_dane_id_uzytkownik_dane_id 外键 (uzytkownik_dane_id) 参考 RENCES uzytkownik_dane(id)
为什么?ofc 所有工作关系都在工作等等。但别名不起作用,Cli 输出错误...问候