MongoDB и CakePHP Модельные ассоциации - PullRequest
2 голосов
/ 05 июля 2010

Я пытаюсь создать модель матча, которая включает игроков, выстроенных в очередь во время этого матча.Таким образом, у каждого Матча есть Много Игроков, и у каждого Игрока есть много Матчей.

match = {
 '_id' : ObjectID('978tqwbi9873gofiu'),
 'home' : 'Argentina',
 'away' : 'Brazil',
 'lineup-home' : [
   {'name' : 'Lionel Messi',
    'goals' : '2',
    'timeon' : 30
   },
   {'name' : 'Diego Maradonna',
    'goals' : '0',
    'timeon' : 0
   },
   {'name' : 'Sergio Aguero',
    'goals' : '0',
    'timeon' : 0
   }
 ]
 }  

Как мне добавить эти отношения 'lineup-home' в мою модель CakePHP для работы с моим mongoDB?Вот так выглядит моя модель ...

    class Match extends AppModel {
    //var $useDbConfig = 'mongo';
    var $mongoSchema = array(
        'home' => array('type' => 'string'),
        'away' => array('type' => 'string'),
        'lineup-home' => ???
    );
}

Спасибо.

Ответы [ 3 ]

0 голосов
/ 13 марта 2012

А как насчет

var $mongoSchema = array(
        'home' => array('type' => 'string'),
        'away' => array('type' => 'string'),
        'lineup-home' => array(
           'name' => array('type' => 'string'),
           'goals' => array('type' => 'string'),
           'timeon' => array('type' => 'integer'),
        )
    );
0 голосов
/ 24 ноября 2013

Вы можете использовать эту схему:

var $mongoSchema = array(
        'home' => array('type' => 'string'),
        'away' => array('type' => 'string'),
        'lineup-home' => array(
           array(
               'name' => array('type' => 'string'),
               'goals' => array('type' => 'string'),
               'timeon' => array('type' => 'integer'),
           )
        )
    );
0 голосов
/ 05 июля 2010

Я думаю, что использование 'lineup-home' => 'array' поможет.

...