繁体   English   中英

CakePHP评级插件中的不同型号

[英]Different models in CakePHP rating plugin

我有一个网站列出各种类别的MP3文件。 该网站位于CakePHP中,我使用CakePHP星级评级插件进行评级功能。 这些歌曲是根据专辑,歌手和音乐总监分类的,所以我需要对这些歌曲进行评级。 我现在使用的评级插件有一个指定模型的选项。 它的模型类是这样的:

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
    )
  );


  var $hasMany = array(
    'Rating' => array(
      'className'  => 'Rating',
      'foreignKey' => 'model_id',
      'conditions' => array('Rating.model' => 'rating'),
      'dependent'  => true,
      'exclusive'  => true
    )
  ); 
}

它有选项来指定模型名称和模型ID,所以我认为如果我能够指定模型名称或任何其他参数以及此数组,我的问题将得到修复。 因为我是CakePHP的新手,有人请帮助我找到解决方案。

请检查我在这里谈论的评级插件:

http://bakery.cakephp.org/articles/schneimi/2010/08/19/ajax-star-rating-plugin-1

$ hasMany属性定义需要放在您想要评估的模型中。 所以对于Album ,它看起来像:

/**
* Album Model
*/
class Album extends Model
{
  var $name = 'Album';

  var $hasMany = array(
    'Rating' => array(
      'className'   => 'Rating',
      'foreignKey'  => 'model_id',
      'conditions' => array(
        'Rating.model' => 'Album'
      ),
      'dependent'   => true,
      'exclusive'   => true
    )
  ); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM