2012-02-04 32 views
1

我想創建一個if then語句,只顯示數組中的值時才顯示。Yii關係,數組檢查是否存在值

鑑於兩個表地址和球員,我有以下關係

'displayAddress' => array(self::HAS_MANY, 'Address', 'PlayerId', 
         'condition'=>array('IsHome=:home', 'IsWork=:wok'), 
         'params' => array(':hom'=>'Y', ':wok'=>'N')), 

現在我要檢查,看看是否球員有任何地址的播放器視圖它僅僅是他們的家,而不是他們的工作。

我曾嘗試設置數組函數,並檢查在視圖以及in_array()和array_key_exists()中做isset,但我一直無法解決它。

+0

你是什麼意思,「任何地址,只有他們的家,而不是他們的工作。」 ?你想檢查兩個地址是否不同? – 2012-02-04 19:46:43

+0

正如在我定義的關係的條件/參數中所述。我只想在玩家至少有一個Home-Yes和Work-No的地址時才返回一個值 – enfield 2012-02-04 22:49:00

回答

2

您擁有的關係應僅返回IsHome = Y和IsWork = N的情況。這是否按預期工作?如果沒有,請嘗試:

'displayAddress'=>陣列(自:: HAS_MANY, '地址', 'PlayerId', '條件'=> '肖姆=:家庭和IsWork =:炒鍋', 「PARAMS '=> array(':hom'=>'Y',':wok'=>'N')),