Теперь я начал знакомиться с Cake PHP.
Следующая проблема:
У меня есть две таблицы. Две модели выглядят так:
class Video extends AppModel {
var $ name = 'Video';
var $ hasMany = array ('Rating' =>
array ('className' => 'Rating',
'foreignKey' => 'model_id'
'Conditions' => array ('Rating.model' => 'Video');
'dependent' => true,
'exclusive' => true
)
);
}
class Rating extends Model {
var $ name = 'Rating';
var $ validate = array ('user_id' => array ('rule' => array ('MaxLength', 36),
'required' => true);
'model_id' => array ('rule' => array ('MaxLength', 36),
'required' => true);
'model' => array ('rule' => 'alphanumeric',
'required' => true));
}
Похоже, что запрос работает:
$ this-> paginate = array (
'Video' => array (
'limit' => 15,
'page' => 1,
'order' => array (
'Video.id' => 'DESC')
)
);
$ this-> set ('videos', $ this-> paginate ("Video"));
Я бы хотел отсортировать по рейтингу
Мои таблицы:
CREATE TABLE `ratings` (
`id` int(11) unsigned NOT NULL auto_increment,
`user_id` char(36) NOT NULL default '',
`model_id` char(36) NOT NULL default '',
`model` varchar(100) NOT NULL default '',
`rating` tinyint(2) unsigned NOT NULL default '0',
`name` varchar(100) default '',
`created` datetime default NULL,
`modified` datetime default NULL,
PRIMARY KEY (`id`),
KEY `rating` (`model_id`,`model`,`rating`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;
CREATE TABLE `videos` (
`id` int(11) NOT NULL auto_increment,
`link` varchar(200) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=61 ;
Заранее спасибо за ответы.
Извините за мой английский