В моем теннисном приложении моя таблица «match» имеет двух игроков (очевидно). Я использовал player1_id и player2_id для отслеживания идентификаторов пользователей. Однако я не включил внешний ключ user_id.Какие отношения cakephp следует использовать для групп пользователей? Может hasMany использовать массив для foreign_ID?
Существует также таблица «user», в которой я хочу вытащить имена игроков.
Потому что «матч» имеет более одного пользователя, и пользователи имеют более чем одну модель, мне интересно, если следующая конфигурация модель будет работать:
я установки модель пользователя, как это:
var $name = 'User';
var $hasMany = array(
'Match' => array(
'className' => 'Match',
'foreignKey' => array('player1_id', 'player2_id'),
'dependent' => true,
)
и модель матча, как это:
var $name = 'Match';
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
)
Мне нужно отобразить пользователю имя/фамилия для каждого игрока, где user_id = player1_id или player2_id. Будет ли это работать? Может ли внешний ключ использовать массив? И может ли модельная операция использовать «или» при поиске?
Или есть лучший способ структурировать таблицу (например, совпадение или может быть групповое собрание) с несколькими пользователями?
Приветствия, Пол
Спасибо. HASBTM действительно ударил меня по дороге, но не был уверен. Я думал, что можно попробовать, потому что у вас могут быть подобные ситуации, например, таблица с тремя/четырьмя или более игроками. Будет ли каждый пользователь/матч модели HASBTM взять массив, как указано выше, так как в каждом матче есть два игрока? – Paul
@Paul Извините, я не понимаю вопроса. Для вашей справки, однако, обычный аббревиатура - «HABTM». – deceze
Спасибо за помощь. HABTM, отметил. То, что я хотел понять, - это то, что в файле пользователя должны быть указаны как player1_id, так и player2_id? Как будто это выше. Поскольку таблица соответствия содержит два идентификатора игрока, нужно ли на каждом идентификаторе ссылаться в отношении HABTM? Если бы это было по сравнению, скажем, в блоге с тегами и сообщениями HABTM, у каждого был бы только один внешний ключ для другого. Надеюсь, что имеет смысл. Очень признателен. – Paul