我創建了一種遊戲,我希望人們能夠建立一個城鎮。
每個用戶只能建立在他們鎮上一個特定的建築物數量有限(即只有2個郵局,1個市政府等)
我與如何實現這個奮鬥。CakePHP:組中的限制數
我有一個UserBuildings表來跟蹤用戶/建築協會,一個建築物表和用戶表。
在那裏我一個建築物添加到我的城市形式,我想先檢查建築物的限制,並從可用的建築列表中忽略它,如果它已經達到了。這是我有什麼:
$buildings = $this->UserBuildings->Buildings->find('list');
$currents = $this->UserBuildings->find('all', array(
'conditions'=> array(
'UserBuildings.user_id'=>$this->Auth->user('id')
)
));
我可以從$電流數組的限制。
有沒有一種方法,通過查找和查詢中,我可以添加一些條件,我的$建築物列表中刪除與達能的任何條目。顯然,我可以通過for
循環運行比較,並通過檢查UserBuildings表中匹配條目的數量來構建更精細的列表,但是有沒有更優雅的方法,可能是使用CakePHP自己的方法?
不是我所試圖做...我試圖刪除從我的結果打破了預先設定的限制值項設置 – 2013-02-26 21:11:19
對不起,我以前的評論,沒有正確讀取的第一部分。我目前沒有直接的答案。您是否考慮過使用計算值(可能使用數據庫視圖)。您可以通過「count()」和user_id,building_type組來計算用戶使用的建築物數量(每種類型)。這將永遠給你一個最新的價值,也如果用戶*刪除*建築物。您可以通過將計算字段定義爲虛擬字段來在模型中包含計算字段; http://book.cakephp.org/2.0/en/models/virtual-fields.html – thaJeztah 2013-02-26 21:38:30