2011-12-15 25 views
0

私は様々なカテゴリのmp3ファイルをリストするサイトを持っています。このサイトはCakePHPにあり、評価機能にはCakePHPの星評価プラグインを使用しています。曲はアルバム、歌手、音楽ディレクターに基づいて分類されていますので、それぞれの評価を実装する必要があります。現在使用している評価プラグインには、モデルを指定するオプションがあります。私は一緒にモデル名やその他のパラメータを指定することができますならば、それはので、私は私の問題が修正されるだろうと思いモデル名やモデルIDを指定するオプションを持っている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 
    ) 
); 
} 

:モデルクラスは、このようなことをされていますこの配列私はCakePHPで初心者ですから、誰かが解決策を見つけるのを助けてください。

私がここで話してい格付けプラグインを確認してください:http://bakery.cakephp.org/articles/schneimi/2010/08/19/ajax-star-rating-plugin-1

答えて

2

$ hasManyの属性定義は、あなたが評価したいモデルに行く必要があります。だから、アルバムのために、それは次のようになります。

/** 
* 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 
    ) 
); 
} 
+0

私は木枠に、プラグインの評価モデルのようAlbunと呼ばれる別のモデルが必要とそこにコードを入れたり取り出しモデルにこのコードを入れですから、意味アルバム..?また、これを与えた後に、このモデルを使用する必要があることをコード内でどのように伝えることができますか?私はまた、評価と一緒に歌/アルバム/音楽監督Idを渡す必要があります。 –

+0

はい、アルバム、歌手などのモデルを作成する必要があります。プラグインの使用を開始する前に、まずCakeの基本を学ぶことをお勧めします。 http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog/blog.html –

+0

ありがとうございます。私はモデルを完成し、それは働いています。ソングの詳細としてモデル名のレーティングを保存しています。しかし、私はmodel_idのものといくつかの混乱を得ました。私は指定された項目を識別できるように、この場所に曲/アルバムIDを持っている必要があります。私はsong_idをmodel_idとして渡そうとしました。しかし、それはエラーとしてエラーを返しています:songRatingのmodel_id 21は存在しません。私は曲/アルバムIDを指定するためのテーブルにもう一つの列を持つ必要があると思います。アドバイスをお願いできますか? –

関連する問題