2011-01-29 9 views
1

なぜ「作者」による仕事のソートはありませんか?すべてのエラーをスローしない、ちょうどソートされていないcakephp並べ替えの問題を使用してください。

function index() 
     { 
      $this->paginate = array(
        'limit' => 5, 
        'order' => array(
         'Post.id' => 'asc', 
        ), 
        'fields' => array('Post.id', 'Post.title', 'User.name AS aut_name'), 
        'joins' => array(
         array(
          'table' =>'users', 
          'alias' =>'User', 
          'type' =>'LEFT', 
          'conditions' => array(
           'Post.author = User.id' 
          ) 
         ) 
        ) 
      ); 
      $posts = $this->paginate(); 
      $this->set('posts', $posts); 
     } 

<tr> 
     <th><?php echo $paginator->sort('ID', 'id'); ?></th> 
     <th><?php echo $paginator->sort('Author', 'User.name'); ?></th> 
     <th><?php echo $paginator->sort('Tilte', 'title'); ?></th> 
     <th>Actions</th> 
    </tr> 
+3

あなたのコードはない著者によって、Post.idによって、その分類を言う – chustar

+0

しかし、 「<?php echo $ paginator-> sort( 'Tilte'、 'title');?> "をクリックすると、なぜAuthoによるソートが行われないのですか?私がをクリックしたときには?<?php echo $ paginator-> sort( 'Author'、 'User.name'); ?>? – lolalola

答えて

1

コードがUser.nameフィールドが「aut_name」として返されている、多分代わりにそのフィールド名を使用するようにソート引数を設定することを示唆していますか?

<th><?php echo $paginator->sort('Author', 'aut_name'); ?></th> 
+0

助けていただきありがとうございますが、これは間違った答えです。 – lolalola

1

たぶん、あなたは、コントローラに、このよう を実行する必要があります。

'fields' => array('Post.id', 'Post.title', 'User.name') 

ビューで:

<th><?php echo $paginator->sort('Author', 'User.name'); ?></th> 
関連する問題