2013-10-03 5 views
0

У меня есть несколько таблиц в моей базе данных:CakePHP belongsTo не работает

CREATE TABLE IF NOT EXISTS `team_players` (
    `artificialid` int(11) NOT NULL AUTO_INCREMENT, 
    `team_name_id` int(11) NOT NULL, 
    `player_id` int(11) NOT NULL, 
    PRIMARY KEY (`artificialid`) 
) 

И:

CREATE TABLE IF NOT EXISTS `team_names` (
    `id` int(11) NOT NULL, 
    `name` varchar(50) NOT NULL 
) 

И я создал свою модель TeamPlayer так:

class TeamPlayerModel extends AppModel { 
    public $belongsTo = array(
     'TeamName', 
     'Player' 
     ) 
    ); 
} 

Таблица игроков имеет поле id, но ни одна из ассоциаций не работает.

Я действительно не понимаю, почему он не работает, у меня есть что-то вроде этого, работающего в другом приложении, в значительной степени линии для линии.

Заранее спасибо, я очень признателен за любую помощь.

+0

вы должны использовать 'TeamPlayer' вместо' Player' –

+0

Sorry , где именно я должен это изменить? «Игрок» в ассоциации модели относится к другой таблице. – user2672053

+0

Это не работает, когда я делаю '$ teamPlayers = $ this-> TeamPlayer-> найти ('все');' я получаю что-то вроде этого: '(интермедиат) 4146 => массив ( \t \t ' TeamPlayer»=> массив ( \t \t \t 'artificialid' => '4147', \t \t \t 'team_name_id' => '1823', \t \t \t 'player_id' => '211547' \t \t) \t), ' – user2672053

ответ

1

Вы можете попробовать настроить модель:

TeamPlayer.php:

class TeamPlayer extends AppModel { 
    public $hasMany = array(

     'PlayerName' 
    ) 
    ) ; 
} 

TeamName.php:

class TeamName extends AppModel { 
    public $belognsTo = array(

     'TeamPlayer' 
    ) 
    ) ; 
} 
+0

Да, я тоже это пробовал, и я не получаю никаких связанных результатов, когда я отлаживаю возвращаемые массивы. – user2672053

Смежные вопросы