#php #symfony1 #doctrine #doctrine-1.2 #symfony-1.4
#php #symfony1 #doctrine #doctrine-1.2 #symfony-1.4
Вопрос:
Извините, но я действительно не понимаю doctrine. Я думал, что получил, но, думаю, нет, потому что появляется следующая ошибка:
Unknown relation alias Artikelkategorie
Со следующей схемой.yml:
Artikelkategorie:
connection: doctrine
tableName: artikelkategorie
columns:
id:
type: integer(4)
fixed: false
unsigned: true
primary: true
autoincrement: true
superid:
type: integer(4)
fixed: false
unsigned: true
primary: false
notnull: true
autoincrement: false
branche_id:
type: integer(4)
fixed: false
unsigned: true
primary: false
notnull: true
autoincrement: false
Portfolio:
connection: doctrine
tableName: portfolio
columns:
artikel_id:
type: integer(4)
fixed: false
unsigned: true
primary: true
autoincrement: false
markt_id:
type: integer(4)
fixed: false
unsigned: true
primary: true
autoincrement: false
relations:
Artikel:
local: id
foreign: zustand_id
type: many
Portfolio:
local: id
foreign: zustand_id
type: many
Следуя моему action.class.php (коротко)
$this->unt_cat_list = Doctrine_Query::create()
->select('p.*, a.*')
->from('portfolio p')
->innerJoin('p.Artikelkategorie a')
->Where('p.markt_id = ? ', array(2))
->Where('a.superid = ?', array(1))
->Where('a.branche_id = ?', array(2))
->execute();
И мой php-код, но я думаю, что это бесполезно:
<?php foreach ($unt_cat_list as $cat_list1): ?>
<a href="<?php echo url_for('shop/category') . '/' . 'id/' . $cat_list1->getMarktId()?>"><?php echo $cat_list1->getMarktId() ?></a>
<?php endforeach; ?>
Почему возникает неизвестное отношение? Что я делаю не так в action.class.php запрос?
Большое спасибо!!!
Craphunter
Ответ №1:
Потому что просто нет связи между портфолио и категорией Artikelkategorie.
Взгляните на соотношение в портфолио. Есть только статья. Также тот факт, что doctrine создает это, кажется немного странным.. Второе отношение, которое вы определили в портфолио, является самореферентным, но в нем нет столбца «zustand_id»