2010-09-22 53 views
1

我拿到表 -教義外鍵

$data = Doctrine::getTable('product_catalog')->findAll(); 

此表(PRODUCT_CATALOG)我鏈接表。有2列與外鍵。

我如何檢查$data是否有關係?

回答

2

我成功地從表中獲取的關係:

$data = ORM::getTable($modelName)->findAll(); - get the table. 
$relations = $data->getTable()->getRelations(); - >get to relation 
foreach($relations as $key=>$row) 
    { 
    echo "<pre>"; var_dump($key); echo "</pre>"; 


    } 
die(); 

這將打印屏幕上的表關係。

2

嘗試$data->hasRelation('RelationName')這將檢查外鍵上是否存在相關對象。將RelationName替換爲關係的真實姓名。

+0

在2.0版的功能 'hasRelation' 不exists.maybe有另一種解決方案? – 2010-09-26 06:13:40

0

該解決方案可與原則2:

$query = $this->entityManager->createQuery(YOUR_DQL_QUERY); 
    $query->setHint(Query::HINT_INCLUDE_META_COLUMNS, true); 
    $query->getArrayResult();