1

行 SQL クエリがあり、cakephp paginator コンポーネントを使用してこのクエリをページ分割したいのですが、どうすればよいですか?

$q = "SELECT
                `UserList`.`id`,`UserList`.`user_id`,`UserList`.`list_user_id`,
                `User`.`username` ,`User`.`id` ,
                `UserDetail`.`sex`,`UserDetail`.`image`,`UserDetail`.`display_name`,`UserDetail`.`country`,`UserDetail`.`height`,`UserDetail`.`weight`,`UserDetail`.`hair_color`,`UserDetail`.`eye_color`
                from `user_lists` as `UserList` 
                inner join `users` as `User` on `UserList`.`list_user_id` = `User`.`id`
                inner join `user_details` as `UserDetail` on `UserList`.`list_user_id` = `UserDetail`.`user_id`
                where ((`UserList`.`user_id`=".$user_id.") and (`UserList`.`in_list`='short')) order by `UserList`.`created` desc limit 1";
$this->paginate = array(
                'conditions' => /*Pass $q here */,
            'limit' => 15,
            )
        );

前もって感謝します。

4

1 に答える 1

0

あなたはそうしない

ただし、質問のクエリから、それは機能しません。必要なのは、通常どおりページネーションを使用することだけです。

class UserListsController extends AppController {

    public $paginate = array(
        'contain' => array(
            'User',
            'UserDetail'
        )
    );

    public function index($userId = null) {
        $conditions = array(
            'user_id' => $userId,
            'in_list' => 'short'
        );

        $data = $this->paginate($conditions);
        $this->set('data', $data);
    }

}
于 2013-07-03T09:47:10.917 に答える