2012-11-19 52 views
0

我的CodeIgniter/DataMapper站點需要顯示categories的列表。每個category與自己有多對多的關係,適合多個家長/孩子。我想最初選擇只有類別與沒有父母,或換句話說,沒有對象通過指定的關係連接。CI DataMapper:查找無相關對象

我已經運行了一些可能性(如在select中包括相關的對象計數並將其添加到where子句中,因爲WHERE在生成SQL中的列值之前進行評估),但無濟於事。

建議?謝謝。

+1

難道你不能將相關計數添加到'having'子句中嗎?也許發佈你的'$ has_one' /'$ has_many'部分的類,這將有助於看到他們是如何精確設置的。 – complex857

回答

0

找到解決方案:比較相關對象ID到NULL。如果它是一個整數自動增量列,則實際上沒有值爲NULL,但如果連接中沒有相關行,則它將以NULL的形式出現。

$c = new Category(); 

$top_level_categories = $c 
    ->where_related_parents('id IS NULL') 
    ->get();