Я знаю, что это должен быть простой ответ, но я не могу понять это. После слез, я надеюсь, что кто-то здесь может помочь.
Вот моя модель YML:
Identity:
columns:
id:
type: integer(10)
primary: true
autoincrement: true
username:
type: string(255)
Profile:
columns:
id:
type: integer(10)
primary: true
autoincrement: true
identity_id:
type: integer(10)
profiletype_id:
type: integer(10)
name:
type: string(255)
relations:
Identity:
local: identity_id
foreign: id
class: Identity
foreignAlias: Profiles
Profiletype:
local: profiletype_id
foreign: id
class: Profiletype
foreignAlias: Profiles
Profiletype:
columns:
id:
type: integer(10)
primary: true
autoincrement: true
type:
type: string(255)
Как видите, генерируются 3 связанные таблицы:
Идентичность
- может иметь несколько профилей
Профиль
- имеет одну Личность
- имеет один тип профиля
Profiletype
- может иметь несколько профилей
Теперь в моем коде я могу выполнять запросы к сгенерированным моделям для Identity и Profiletype.
Например:
$q = Doctrine_Query::create()
->select('i.*')
->from('Identity i');
echo $q->getSqlQuery();
будет работать и производить:
SELECT i.id AS i__id, i.username AS i__username FROM identity i
Однако, когда я иду, чтобы выполнить любой запрос к таблице профиля, он не будет работать. Даже простой запрос, такой как
$q = Doctrine_Query::create()
->select('p.*')
->from('Profile p');
echo $q->getSqlQuery();
выходит из строя. Я попытался изменить имя класса в FROM на «Профили» вместо «Профиль». Все еще ничего.
Любые идеи о том, что я делаю неправильно.