function q_custom($str) { $q = new Model(); $ex = $q->prepare($str); $ex->execute(); $res = $ex->fetchAll(); return $res; }
public function setFilters() { $post = filter_input_array(INPUT_POST); $fid = json_decode($post['fid']); $poz = json_decode($post['poz']); $q = new Model(); $ex = $q->prepare("UPDATE filteri SET fil_pozicija=0"); $ex->execute(); for ($i = 0; $i < count($fid); $i++) { updating('filteri', array('fil_karakteristika_id' => $fid[$i]), array('fil_karakteristika_id' => $fid[$i], 'fil_pozicija' => $poz[$i])); } echo '<p class="filt-msg" style="color:#fff;background:#669900;">Uspešno ste izmenili postavku filtera!</p>'; }
public function getEnrollmentForm($uid, $tid, $eid, $mem) { $ret = array('personal' => array(), 'tour' => array(), 'enroll' => array(), 'members' => $mem); $p = parent::prepare("SELECT * FROM users " . "INNER JOIN students ON id=stu_user_id " . "AND users.id=" . $uid); $p->execute(); $ret['personal'] = $p->fetchAll(); $q = new Query(); $q->where = array('tou_id' => $tid); $rest = $q->inner_join('tours', 'paymen_shema', array('tou_id', 'psc_tour_id')); $ret['tour'] = $rest[0]; $q->table = 'enroll_full'; $q->where = array('enf_id' => $eid); $rese = $q->read(); $ret['enroll'] = $rese[0]; return $ret; }
/** * インポート処理 * * @param Model $model Model using this behavior * @param string $filePath ファイルのパス * @param int $importType インポートタイプ * @return bool True on success, false on failure */ public function importUsers(Model $model, $filePath, $importType = self::IMPORT_TYPE_NEW) { App::uses('CsvFileReader', 'Files.Utility'); $model->begin(); $model->prepare(true); $reader = new CsvFileReader($filePath); $saveData = array(); $validationErrors = array(); //入力チェック foreach ($reader as $i => $row) { if ($i === 0) { $fileHeader = $this->_parseCsvHeader($model, $row); continue; } $data = $this->_getCsvData($model, $row, $fileHeader, $importType); if (!$data) { //falseの場合、スキップする continue; } $data = $this->_convSaveData($model, $data); $model->set($data); if (!$model->validates()) { //バリデーションエラーの場合 $validationErrors[$i] = $this->_getValidationErrors($model, $i); $model->validationErrors = array(); continue; } $saveData[$i] = $data; } //バリデーションエラー if ($validationErrors) { $model->validationErrors = $validationErrors; return false; } foreach ($saveData as $i => $data) { if (!$model->saveUser($data)) { //ここでバリデーションエラーになった場合、登録中に発生したエラー //可能性があるのは、ファイル内での問題か、処理実行中に他プロセスで登録されたかのどちらか $validationErrors[$i] = $this->_getValidationErrors($model, $i); $model->validationErrors = $validationErrors; $model->rollback(); return false; } } $model->commit(); return true; }
public function getLeader($uid) { $ret = array('leader' => array(), 'students' => array(), 'tour' => array(), 'data'); $l = parent::prepare("SELECT * FROM users " . "INNER JOIN groupleaders ON id=lea_user_id " . "AND id=" . $uid); $l->execute(); $resl = $l->fetchAll(); $ret['leader'] = $resl[0]; $q = parent::prepare("SELECT * FROM tours " . "INNER JOIN schools ON tou_school_id=sch_id " . "AND tours.tou_id='" . $resl[0]['lea_tour_id'] . "'"); $q->execute(); $rest = $q->fetchAll(); $ret['tour'] = $rest[0]; $q2 = parent::prepare("SELECT * FROM students " . "INNER JOIN users ON stu_user_id=id " . "JOIN enroll_full ON enf_user_id=stu_user_id " . "AND students.stu_tour_id='" . $resl[0]['lea_tour_id'] . "' " . "AND enroll_full.enf_status='C' ORDER BY students.stu_lastname,stu_firstname"); $q2->execute(); $ress = $q2->fetchAll(); $ret['students'] = $ress; $ret['data'] = count($ress); return $ret; }
/** * ユーザの削除 * * @param Model $model ビヘイビア呼び出し元モデル * @param array $data data * @return mixed On success Model::$data, false on failure * @throws InternalErrorException */ public function deleteUser(Model $model, $data) { //トランザクションBegin $model->begin(); $model->prepare(); try { //Userデータの削除->論理削除 $user = $model->create(array('id' => $data['User']['id'], 'handlename' => $data['User']['handlename'], 'is_deleted' => true)); if (!$model->save($user, false)) { throw new InternalErrorException(__d('net_commons', 'Internal Server Error')); } //関連DBの削除 $model->deleteUserAssociations($user['User']['id']); //トランザクションCommit $model->commit(); } catch (Exception $ex) { //トランザクションRollback $model->rollback($ex); } return true; }
public function sql_function($function, $column) { $ret = parent::prepare("SELECT " . $function . "(" . $column . ")" . " FROM " . $this->table . " " . $this->where_to_string(false) . " " . $this->between_to_string() . " " . $this->order_to_string() . " " . $this->limit_to_string()); $ret->execute(); $res = $ret->fetch(); return $res[0]; }
/** * UserのValidateチェック * * @param Model $model ビヘイビア呼び出し元モデル * @param array $data data * @return bool True:正常、False:不正 */ public function validateUser(Model $model, $data) { $model->prepare(); //バリデーション $model->set($data); return $model->validates(); }