/**
  * エクスポート処理
  *
  * @param Model $model 呼び出しもとのModel
  * @param array $options エクスポートのオプション
  * @param array $queryParams 絞り込みによる条件配列(リクエストデータ)
  * @return bool
  */
 public function exportUsers(Model $model, $options = array(), $queryParams = array())
 {
     App::uses('CsvFileWriter', 'Files.Utility');
     $model->loadModels(['UserSearch' => 'Users.UserSearch']);
     $this->_bindModel($model, false);
     $header = $this->getCsvHeader($model);
     $defaultConditions = $model->UserSearch->cleanSearchFields($queryParams);
     $conditions = Hash::merge($defaultConditions, Hash::get($options, 'conditions', []));
     $joins = $model->UserSearch->getSearchJoinTables(Hash::get($options, 'joins', array()), $conditions);
     $conditions = $model->UserSearch->getSearchConditions(Hash::get($options, 'conditions', []));
     $userIds = $model->find('list', array('recursive' => -1, 'conditions' => $conditions, 'joins' => $joins, 'group' => 'User.id', 'limit' => self::MAX_LIMIT, 'order' => array('Role.id' => 'asc')));
     $users = $model->find('all', array('fields' => array_keys($header), 'recursive' => 0, 'conditions' => array('User.id' => array_values($userIds)), 'order' => array('Role.id' => 'asc')));
     $csvWriter = new CsvFileWriter(array('header' => $header));
     if (!$users && !is_array($users)) {
         $csvWriter->close();
         return false;
     }
     foreach ($users as $user) {
         $user = Hash::insert($user, 'User.password', '');
         $csvWriter->addModelData($user);
     }
     $csvWriter->close();
     return $csvWriter;
 }