2012-02-09 7 views
1

CakeDCタグプラグインを使用しています。私の書籍モデルでタグを検索したいと思います。HABTMの特定のフィールドを除外します。find()

私の書籍コントローラには、ページ番号付きの結果を返すindex()メソッドがあります。現在、私のindex()メソッドはこのように見えます。

function index() { 
    $this-Book>recursive = 0; 
    $this->paginate = array(
     'fields' => array('Book.id','Book.name'), 
     'conditions' => array('Book.status' => 1), 
     'order' => array('Book.id' => 'DESC'), 
     'limit' => 10 
    ); 
    $books = $this->paginate($this->Book); 
    $this->set('books', $books); 
} 

私はデバッグを行うと、これらは私の結果は: - 私は1ではなく0に再帰を上げる場合

Array 
(
    [0] => Array 
     (
      [Book] => Array 
       (
        [id] => 12 
        [name] => A randomly random book 
        [tags] => 
       ) 

     ) 
) 

、タグ配列が移入され、デバッグ出力は以下の通りです -

Array 
(
    [0] => Array 
     (
      [Book] => Array 
       (
        [id] => 12 
        [name] => A randomly random book 
        [tags] => wicked 
       ) 
      [Tag] => Array 
       (
        [0] => Array 
         (
          [id] => 4f30d76a-20dc-44ce-943c-048c98b7a787 
          [identifier] => 
          [name] => wicked 
          [keyname] => wicked 
          [weight] => 0 
          [created] => 2012-02-07 18:48:58 
          [modified] => 2012-02-07 18:48:58 
          [Tagged] => Array 
           (
            [id] => 4f30d76a-f55c-4ab7-b076-048c98b7a787 
            [foreign_key] => 53 
            [tag_id] => 4f30d76a-20dc-44ce-943c-048c98b7a787 
            [model] => Book 
            [language] => en-us 
            [created] => 2012-02-07 18:48:58 
            [modified] => 2012-02-07 18:48:58 
           ) 

         ) 
       ) 

     ) 
) 

再帰性を上げると、ジョブはかなりうまく処理されます。しかし、CakePHPは、作成された日付フィールドと変更された日付フィールドを含むすべてを返しました。 CakePHPに$ book ['Book'] ['tags']配列だけを入れても、[Tag]と[Tagged]配列は入れないのですか?おかげ

答えて

2

私はこの特定のプラグインを知りませんが、細かいDBから取得されたデータの管理をきめ取得するための通常の方法はContainable行動である:あなたはそれを追加するとhttp://book.cakephp.org/1.3/en/view/1323/Containable

$this-Book>recursive = -1; 
$this->paginate = array(
    'fields' => array('Book.id','Book.name'), 
    'contain' => array(
     'Tag'=>array('id','name'), 
    ), 
    'conditions' => array('Book.status' => 1), 
    'order' => array('Book.id' => 'DESC'), 
    'limit' => 10 
); 
+0

こんにちはジョニ・ヒントをありがとう:BookモデルこれはあなたがTag Sの唯一の名前とIDを取得するために書くでしょうものです。私はContainableが間違いなく始めるのに間違いないだろうという気持ちを早めに感じました。どうもありがとうございました。 –

関連する問題