2
我想學習CakePHP,我很難得到一些數據。 我正在研究一個網站跟蹤曲棍球統計(真正的基本統計)。我有5張桌子。CakePHP - 困難的時候返回一些數據3級深
- 賽季(ID,DATE_START,DATE_END)
- 遊戲(ID,日期,score_team1,score_team2,team1_id,team2_id,season_id)
- 隊(ID,名稱,顏色)
- 玩家(ID ,名字,姓氏)
- players_teams(ID,player_id,TEAM_ID)
我能夠從遊戲顯示拿到2隊比賽的。 我也可以從團隊視圖中獲取團隊的所有球員。
我需要幫助瞭解如何從遊戲的角度獲得團隊的所有玩家。 我嘗試了很多東西,但似乎沒有工作。我很艱難,我可以通過從我的遊戲視圖中做一些類似$ game ['Team1'] ['Players']的球員來獲得球隊的所有球員,但這不起作用。我試圖從遊戲中深入到一個團隊的球員。 賽季 - >遊戲 - >球隊1->球員,但我堅持在team1的水平。
下面是一些我的代碼
/CakePHP的/支 - >調試($隊[1])
array(
'Team' => array(
'id' => '2',
'name' => 'Rouge',
'color' => 'Rouge'
),
'Players' => array(
(int) 0 => array(
'id' => '2',
'first_name' => 'Player2FN',
'last_name' => 'Player2LN',
'PlayersTeam' => array(
'id' => '2',
'player_id' => '2',
'team_id' => '2'
)
),
(int) 1 => array(
'id' => '4',
'first_name' => 'Player4FN',
'last_name' => 'Player4LN',
'PlayersTeam' => array(
'id' => '4',
'player_id' => '4',
'team_id' => '2'
)
)
)
)
不過從比賽的細節視圖我得到這個 - >調試($遊戲) :
array(
'Game' => array(
'id' => '2',
'date' => '2012-09-16 19:30:00',
'score_team1' => '8',
'score_team2' => '4',
'team1_id' => '2',
'team2_id' => '1',
'season_id' => '1'
),
'Team1' => array(
'id' => '2',
'name' => 'Rouge',
'color' => 'Rouge'
),
'Team2' => array(
'id' => '1',
'name' => 'Bleu',
'color' => 'Bleu'
),
'Season' => array(
'id' => '1',
'date_start' => '2012-09-09',
'date_end' => '2013-04-07'
)
)
我敢肯定這是一個模式的問題,所以這裏是我的兩個團隊和博弈模型
<?php
class Game extends AppModel {
public $name = 'Game';
public $belongsTo = array(
'Season',
'Team1' => array (
'className' => 'Team',
'foreignKey' => 'team1_id'
),
'Team2' => array (
'className' => 'Team',
'foreignKey' => 'team2_id'
)
);
}
?>
<?php
class Team extends AppModel {
public $name = 'Team';
public $hasAndBelongsToMany = array(
'Players' =>
array(
'className' => 'Player',
'joinTable' => 'players_teams',
'foreignKey' => 'team_id',
'associationForeignKey' => 'id'
)
);
}
?>
謝謝!奇蹟般有效 ! – PureConstant 2012-08-03 18:25:54
我理解這個作品,但對大量數據來說效率不高嗎? Contain行爲會更好嗎? – Suman 2012-08-03 21:21:19
是的。這取決於你的數據庫是如何設置的,但是如果模型有點複雜,那就是性能消耗。我總是嘗試實現包含,但遞歸具有作爲單線程的巨大優勢。很適合快速開發,小數據,簡單的模型。最後,我相信這些內容是必要的,但是在Pureconstant更熟悉框架的時候可以實施。 – 2012-08-03 21:24:59