2010-03-02 28 views
0

我正在構建的應用程序是一個網球抽籤,其中有按比賽組織的比賽列表。我也給比賽一個位置號碼作爲排序和管理比賽的頂部的比賽的方式。在32位選手抽籤中,第一輪有16場比賽,比賽排名從1到16。使用cakephp,我如何在不使用每個循環的情況下顯示一系列數據?

抽獎是用html制定的,不僅僅是一系列的表格行,它有一些複雜性它。所以爲了在視圖中顯示匹配的玩家/分數,我需要使用一系列行將數據放置在與典型顯示無序的位置。

如何在不使用foreach循環的情況下顯示16個數據匹配?控制器中的每個變量最適合單個記錄嗎?

我以爲在控制器中我可以有16個變量,但是我寧願學習更好的乾式編程方法,因爲我學習的是php和cakephp。

非常感謝。

回答

1

只顯示數組元素。

<?php echo $matches['Match'][0]['Player1']?> 
<?php echo $matches['Match'][12]['Score']?> 

如果你想仔細看看數據數組,找出哪些位是哪裏,你可以使用pr()。

<?php pr($matches)?> 

你可以只聲明一個數組的特定部分,它們不是獨佔地綁定到foreach循環。這是我會採取的方法。雖然你需要知道,顯然當你的數據在輪次之間變化時,你需要更新或爲每一輪創建一個新的視圖。

0

如果你真的無法迭代你的視圖中的數據(也考慮嵌套的foreach循環),你正在傳遞錯誤的數據到視圖!

重構您的控制器以可迭代形式傳遞數據。在CakePHP中,Containables真的很棒。

1

不要放棄foreach而已。

我每一行數據都是「相當複雜」,如果將它移動到某個元素上,可能是最好的。

如果您需要在典型表格外顯示數據,也許最好是使用真棒Set class來提取數據,然後再進行計算和其他操作。

儘管如西比迪巴已經提到的那樣,如果你在模型中做了所有這些,那將是最好的,所以你的觀點保持清晰和清晰。所有要顯示在標準表外部的數據應該已準備就緒,可以在您的模型中準備好並準備好顯示,並由您的控制器傳遞給您的視圖。如前所述,Set類是一個強大的工具,請參閱是否可以使用它。

+0

如果這是複雜的,你可能也想考慮把它做成幫手,而不僅僅是一個元素。 我同意Set類的東西,以及Containables的行爲。在嘗試使用它之前,將數據鞭打一下! – 2010-03-02 17:35:21

相關問題