本文整理汇总了PHP中CRequest::addWhere方法的典型用法代码示例。如果您正苦于以下问题:PHP CRequest::addWhere方法的具体用法?PHP CRequest::addWhere怎么用?PHP CRequest::addWhere使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRequest
的用法示例。
在下文中一共展示了CRequest::addWhere方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getItemNames
/**
* @return string[]
*/
function getItemNames()
{
$item = new CExListItem();
$where = array($this->getBackRefField() => "= '{$this->_id}'");
$request = new CRequest();
$request->addWhere($where);
$request->addTable($item->_spec->table);
$request->addOrder("LPAD(code, 20, '0'), name");
$request->addSelect(array($item->_spec->key, "name"));
$ds = $item->_spec->ds;
return $ds->loadHashList($request->makeSelect());
}
示例2: getPatientMergeByDate
/**
* Get the patient merge by date
*
* @param Date $before before date
* @param Date $now now date
*
* @return array
*/
static function getPatientMergeByDate($before, $now)
{
$where = array("date >= '{$before} 00:00:00'", "date <= '{$now} 23:59:59'", "type = 'merge'", "object_class = 'CPatient'");
$ds = CSQLDataSource::get("std");
$ds->exec("SET SESSION group_concat_max_len = 100000;");
$request = new CRequest();
$request->addSelect("DATE(date) AS 'date', COUNT(*) AS 'total', GROUP_CONCAT( object_id SEPARATOR '-') as ids");
$request->addTable("user_log");
$request->addWhere($where);
$request->addGroup("DATE(date)");
return $ds->loadList($request->makeSelect());
}
示例3: check
function check()
{
$msg = parent::check();
if (!$msg) {
$where = array();
$where["date"] = $this->_spec->ds->prepare("= %", $this->date);
$where["affectation_id"] = $this->_spec->ds->prepare("= %", $this->affectation_id);
$where["typerepas_id"] = $this->_spec->ds->prepare("= %", $this->typerepas_id);
if ($this->repas_id) {
$where["repas_id"] = $this->_spec->ds->prepare("!= %", $this->repas_id);
}
$select = "count(`" . $this->_spec->key . "`) AS `total`";
$sql = new CRequest();
$sql->addTable($this->_spec->table);
$sql->addSelect($select);
$sql->addWhere($where);
$nbRepas = $this->_spec->ds->loadResult($sql->makeSelect());
if ($nbRepas) {
$msg .= "Un repas a déjà été créé, vous ne pouvez pas en créer un nouveau.";
}
}
return $msg;
}
示例4: cleanOperationIdError
/**
* Nettoie les operation_id
*
* @return bool
*/
protected function cleanOperationIdError()
{
$ds = $this->ds;
$where = array();
$where["consultation_anesth.operation_id"] = "!= 0";
$where[] = "consultation_anesth.operation_id IS NOT NULL";
$where[] = "(SELECT COUNT(operations.operation_id) FROM operations WHERE operation_id=consultation_anesth.operation_id)=0";
$query = new CRequest();
$query->addSelect("consultation_anesth_id");
$query->addTable("consultation_anesth");
$query->addWhere($where);
$aKeyxAnesth = $ds->loadColumn($query->makeSelect());
if ($aKeyxAnesth === false) {
return false;
}
if (count($aKeyxAnesth)) {
$query = "UPDATE consultation_anesth SET operation_id = NULL WHERE (consultation_anesth_id " . CSQLDataSource::prepareIn($aKeyxAnesth) . ")";
if (!$ds->exec($query)) {
return false;
}
return true;
}
return true;
}
示例5: check
/**
* Vérifie l'unicité d'une aide à la saisie
*
* @return string
*/
function check()
{
$msg = "";
$ds = $this->_spec->ds;
$where = array();
if ($this->user_id) {
$where["user_id"] = $ds->prepare("= %", $this->user_id);
} else {
if ($this->function_id) {
$where["function_id"] = $ds->prepare("= %", $this->function_id);
} else {
$where["group_id"] = $ds->prepare("= %", $this->group_id);
}
}
$where["class"] = $ds->prepare("= %", $this->class);
$where["field"] = $ds->prepare("= %", $this->field);
$where["depend_value_1"] = $ds->prepare("= %", $this->depend_value_1);
$where["depend_value_2"] = $ds->prepare("= %", $this->depend_value_2);
$where["text"] = $ds->prepare("= %", $this->text);
$where["aide_id"] = $ds->prepare("!= %", $this->aide_id);
$sql = new CRequest();
$sql->addSelect("count(aide_id)");
$sql->addTable("aide_saisie");
$sql->addWhere($where);
$nb_result = $ds->loadResult($sql->makeSelect());
if ($nb_result) {
$msg .= "Cette aide existe déjà<br />";
}
return $msg . parent::check();
}
示例6: transformLocales
/**
* Transform the mb locales with the overwrite system
*
* @param array $locales locales from mediboard
* @param string|null $language language chosen, if not defined, use the preference.
*
* @return array $locales locales transformed
*/
function transformLocales($locales, $language = null)
{
$ds = $this->_spec->ds;
$where = array("language" => $ds->prepare("=%", $language ? $language : CAppUI::pref("LOCALE")));
$query = new CRequest();
$query->addSelect("source, translation");
$query->addTable("translation");
$query->addWhere($where);
$overwrites = $ds->loadList($query->makeSelect());
foreach ($overwrites as $_overwrite) {
$locales[$_overwrite["source"]] = $_overwrite["translation"];
}
return $locales;
}
示例7: getDbIds
function getDbIds($min_id = null)
{
$ds = CSQLDataSource::get("std");
$request = new CRequest();
$request->addColumn("DISTINCT id400");
$request->addTable("id_sante400");
$tag = $this->getImportTag();
$where = array("object_class" => "= '{$this->_class}'", "tag" => "= '{$tag}'");
if ($min_id) {
$where["id400"] = $ds->prepare("> ?", $min_id);
}
$request->addWhere($where);
return $ds->loadColumn($request->makeSelect());
}
示例8: CRequest
*
* @package Mediboard
* @subpackage Stock
* @author SARL OpenXtrem <dev@openxtrem.com>
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version $Revision$
*/
CCanDo::checkEdit();
$ratio = (double) CValue::get("ratio", 2);
CApp::setMemoryLimit('512M');
CApp::setTimeLimit(120);
$sql = new CRequest();
$sql->addTable("product_order_item");
$sql->addSelect("\r\n product_order_item.order_item_id,\r\n product_order_item.reference_id, \r\n product_reference.price AS RP, \r\n product_order_item.unit_price AS OP, \r\n product_order_item.quantity AS OQ, \r\n product_order.order_id, \r\n product_order.order_number, \r\n product_order.date_ordered");
$sql->addLJoin(array("product_reference" => "product_reference.reference_id = product_order_item.reference_id", "product_order" => "product_order.order_id = product_order_item.order_id"));
$sql->addWhere("\r\n product_order.cancelled = '0' \r\n AND (product_reference.cancelled = '0' OR product_reference.cancelled IS NULL)\r\n AND product_reference.price != product_order_item.unit_price\r\n AND (\r\n product_order_item.unit_price > product_reference.price*{$ratio} OR \r\n product_reference.price > product_order_item.unit_price*{$ratio}\r\n )");
$sql->addOrder("product_reference.code");
$changes = $this->_spec->ds->loadList($sql->makeSelect());
$changes_struct = array();
$references = array();
$references_cahpp = array();
foreach ($changes as $_change) {
if (!isset($references[$_change["reference_id"]])) {
$_reference = new CProductReference();
$_reference->load($_change["reference_id"]);
$references[$_reference->_id] = $_reference;
$article = new CCAHPPArticle();
$where = array("reference_fournisseur" => $article->_spec->ds->prepare("=%", $_reference->supplier_code));
if (!$article->loadObject($where)) {
$where = array("cip" => $article->_spec->ds->prepare("=%", $_reference->loadRefProduct()->code));
$article->loadObject($where);
示例9: doIt
function doIt()
{
$this->doBind();
if ($this->synchro) {
if (!$this->_old->_id && $this->_obj->repas_id) {
// Repas supprimé depuis la derniere synchro
CAppUI::setMsg("Le repas a été supprimé depuis la dernière synchronisation.", UI_MSG_ERROR);
$this->doRedirect();
}
//Test suppression de ref
$error_ref = null;
$object = $this->_obj;
$plats = new CPlat();
$object->loadRemplacements();
$object->loadRefAffectation();
$object->loadRefMenu();
if (!$object->_ref_affectation->affectation_id) {
CAppUI::setMsg("L'affectation n'existe pas.", UI_MSG_ERROR);
$error_ref = true;
}
if ($object->menu_id && !$object->_ref_menu->menu_id) {
CAppUI::setMsg("Le menu n'existe pas.", UI_MSG_ERROR);
$error_ref = true;
}
foreach ($plats->_specs["type"]->_list as $curr_typePlat) {
if ($object->{$curr_typePlat} && !$object->{"_ref_" . $curr_typePlat}) {
CAppUI::setMsg("Le Plat de remplacement " . $curr_typePlat . " n'existe pas.", UI_MSG_ERROR);
$error_ref = true;
}
}
if ($error_ref) {
$this->doRedirect();
}
if (!$this->synchroConfirm && $this->_old->_id) {
$object = $this->_old;
$select = "count(`user_log_id`) AS `total`";
$table = "user_log";
$where = array();
$where["object_id"] = "= '{$object->_id}'";
$where["object_class"] = "= '{$this->className}'";
$where["date"] = ">= '" . strftime("%Y-%m-%d %H:%M:%S", $this->synchroDatetime) . "'";
$sql = new CRequest();
$sql->addTable($table);
$sql->addSelect($select);
$sql->addWhere($where);
$nbLogs = $this->ds->loadResult($sql->makeSelect());
if ($nbLogs) {
CAppUI::setMsg("Le repas a été modifié depuis la dernière synchronisation. Voulez-vous tout de même l'enregistrer ?", UI_MSG_WARNING);
$this->doRedirect(true);
}
}
}
if (intval(CValue::post('del'))) {
$this->doDelete();
} else {
$this->doStore();
}
$this->doRedirect();
}
示例10: getDatasForConstant
//.........这里部分代码省略.........
$periods[] = array('start' => $start_tick, 'end' => $tick, 'start_time' => $current_period['start'], 'end_time' => $current_period['end'], 'value' => $current_value);
$current_value = $_value->{$constant_name};
$start_tick = $tick;
$start = $current_period['end'];
if (strtotime($_value->datetime) - $start > 24 * 3600) {
$start = strtotime(CMbDT::format($_value->datetime, '%Y-%m-%d' . sprintf('%02d', $reset_hour) . ':00:00'));
if (strtotime($_value->datetime) < $start) {
$start = $start - 24 * 3600;
}
}
$current_period = array('start' => $start, 'end' => $start + 24 * 3600);
}
}
if (!is_null($_value->{$constant_name}) && $constant_type != 'formula') {
/* Get the last 5 user logs of the CConstantesMedicales object */
$users_logs = array();
if ($constant_name[0] !== "_") {
$_value->loadRefUser();
if ($_value->_ref_user) {
$users_logs[] = utf8_encode(CMbDT::format($_value->getCreationDate(), '%d/%m/%y %H:%M') . ' - ' . $_value->_ref_user->_view);
}
}
if ($this->display['mode'] == 'time') {
$entry = array(CMbDate::toUTCTimestamp($_value->datetime));
} else {
$entry = array($tick);
}
if ($constant_type == 'bandwidth') {
$field = CConstantesMedicales::$list_constantes[$constant_name]['formfields'];
$entry[] = $_value->{$field}[0];
$entry[] = $_value->{$field}[1];
$values[] = $_value->{$field}[0];
$values[] = $_value->{$field}[1];
} else {
if (isset(CConstantesMedicales::$list_constantes[$constant_name]['formfields'])) {
$field = CConstantesMedicales::$list_constantes[$constant_name]['formfields'];
$entry[] = $_value->{$field}[0];
$values[] = $_value->{$field}[0];
} else {
$entry[] = $_value->{$constant_name};
$values[] = $_value->{$constant_name};
}
}
$entry['id'] = $_value->_id;
$entry['date'] = utf8_encode(CMbDT::format($_value->datetime, '%d/%m/%y'));
$entry['hour'] = utf8_encode(CMbDT::format($_value->datetime, '%Hh%M'));
$entry['users'] = $users_logs;
if ($_value->comment) {
$entry['comment'] = utf8_encode($_value->comment);
}
if ("{$_value->context_class}-{$_value->context_id}" !== $this->context_guid) {
$_value->loadRefContext();
if ($_value->_ref_context) {
$_value->_ref_context->loadRefsFwd();
$entry['context'] = utf8_encode($_value->_ref_context->_view);
$entry['context_guid'] = "{$_value->context_class}-{$_value->context_id}";
}
}
$datas['values'][] = $entry;
}
$tick++;
}
if ($constant_type == 'cumul' || $constant_type == 'formula') {
$cumul_datas = array();
if (!empty($constant_values)) {
$periods[] = array('start' => $start_tick, 'end' => $tick, 'start_time' => $current_period['start'], 'end_time' => $current_period['end'], 'value' => $current_value);
$cumul_datas = array();
$dtz = new DateTimeZone('Europe/Paris');
$tz_ofsset = $dtz->getOffset(new DateTime('now', $dtz));
foreach ($periods as $_period) {
if ($this->display['mode'] == 'time') {
$x = ($_period['start_time'] + $tz_ofsset) * 1000;
$bar_width = ($_period['end_time'] - $_period['start_time']) * 1000;
} else {
$x = $_period['start'];
$bar_width = $_period['end'] - $_period['start'];
}
if ($this->widget) {
$first_value = reset($constant_values);
$start_date = strftime('%Y-%m-%d %H:%M:%S', $_period['start_time']);
$end_date = strftime('%Y-%m-%d %H:%M:%S', $_period['end_time']);
$query = new CRequest();
$query->addSelect("SUM(`{$constant_name}`)");
$query->addTable('constantes_medicales');
$query->addWhere(array("`patient_id` = {$first_value->patient_id}", "`context_class` = '{$first_value->context_class}'", "`context_id` = {$first_value->context_id}", "`datetime` >= '{$start_date}'", "`datetime` <= '{$end_date}'", "`{$constant_name}` IS NOT NULL"));
$ds = CSQLDataSource::get('std');
$_period['value'] = $ds->loadResult($query->makeSelect());
}
$cumul_datas[] = array($x, $_period['value'], 'date' => utf8_encode(strftime('%d/%m/%y %H:%M', $_period['start_time']) . ' au ' . strftime('%d/%m/%y %H:%M', $_period['end_time'])), 'barWidth' => $bar_width);
$values[] = $_period['value'];
}
}
$datas['cumul'] = $cumul_datas;
}
if (!empty($values)) {
$datas['min'] = floor(min($values));
$datas['max'] = ceil(max($values));
}
return $datas;
}
示例11: elseif
} elseif ($sejour_filled) {
$request_b->addSelect("sejour.sejour_id, patients.patient_id" . $other_fields);
$request_b->addTable("sejour");
$request_b->addOrder("patients.nom ASC, sejour.entree_prevue ASC");
} elseif ($interv_filled) {
$request_b->addSelect("operations.operation_id, patients.patient_id" . $other_fields);
$request_b->addTable("operations");
$request_b->addOrder("patients.nom ASC, operations.date ASC");
} else {
$request_b->addSelect("patients.patient_id");
$request_b->addTable("patients");
$request_b->addOrder("patients.nom ASC");
}
$request_b->addLJoin($ljoin);
$request_b->addRJoin($rjoinMix);
$request_b->addWhere($where);
$request_b->addWhere($whereMix);
if (!$export) {
$request_b->setLimit("{$start},30");
}
$results = array_merge($results, $ds->loadList($request_b->makeSelect()));
}
foreach ($results as $_result) {
$_patient_id = $_result["patient_id"];
$pat = new CPatient();
$pat->load($_patient_id);
// Recherche sur un antécédent
if (isset($_result["antecedent_id"])) {
$_atcd = new CAntecedent();
$_atcd->load($_result["antecedent_id"]);
$pat->_ref_antecedent = $_atcd;
示例12: CMediusersStats
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version $Revision$
*/
CCanDo::checkAdmin();
$type = CValue::get("type", "CEvenementSSR");
$date = CValue::get("date");
$period = CValue::get("period", "month");
$stats = new CMediusersStats($date, $period, "DATE(debut)", 18);
$consult = new CConsultation();
$ds = $consult->_spec->ds;
$group = CGroups::loadCurrent();
$query = new CRequest();
$query->addColumn("COUNT(*) total");
$query->addColumn("therapeute_id", "user_id");
$query->addColumn($stats->sql_date, "refdate");
$query->addWhere("{$stats->sql_date} BETWEEN '{$stats->min_date}' AND '{$stats->max_date}'");
$query->addWhereClause("functions_mediboard.group_id", "= '{$group->_id}'");
$query->addGroup("therapeute_id, refdate");
$query->addOrder("refdate DESC");
$totals = array();
switch ($type) {
case "CEvenementSSR":
$query->addTable("`evenement_ssr`");
$query->addLJoinClause("sejour", "sejour.sejour_id = evenement_ssr.sejour_id");
$query->addLJoinClause("users_mediboard", "users_mediboard.user_id = evenement_ssr.therapeute_id");
$query->addLJoinClause("functions_mediboard", "functions_mediboard.function_id = users_mediboard.function_id");
// Réalisés
$query1 = clone $query;
$query1->addWhereClause("evenement_ssr.realise", "= '1'");
foreach ($ds->loadList($query1->makeSelect()) as $_row) {
$stats->addTotal($_row["user_id"], $_row["refdate"], $_row["total"], "realises");
示例13: initLocales
/**
* Inits locale cache
*
* @return void
*/
static function initLocales()
{
if (self::$_locales_ready) {
return;
}
$lang = CAppUI::pref("LOCALE");
$_all_locales = DSHM::get("exclass-locales-{$lang}");
if (!$_all_locales) {
$undefined = CAppUI::tr("Undefined");
$ds = CSQLDataSource::get("std");
$_all_locales = array();
$request = new CRequest();
$request->addTable("ex_class_field_translation");
$request->addWhere(array("lang" => "= '{$lang}'"));
$request->addLJoin(array("ex_class_field" => "ex_class_field.ex_class_field_id = ex_class_field_translation.ex_class_field_id", "ex_concept" => "ex_concept.ex_concept_id = ex_class_field.concept_id", "ex_class_field_group" => "ex_class_field_group.ex_class_field_group_id = ex_class_field.ex_group_id"));
$request->addSelect(array("ex_class_field_translation.std", "IF(ex_class_field_translation.desc IS NOT NULL, ex_class_field_translation.desc, ex_class_field_translation.std) AS `desc`", "IF(ex_class_field_translation.court IS NOT NULL, ex_class_field_translation.court, ex_class_field_translation.std) AS `court`", "ex_class_field.ex_class_field_id AS field_id", "ex_class_field.name", "ex_class_field.prop", "ex_class_field.concept_id", "ex_class_field_group.ex_class_id", "ex_concept.ex_list_id"));
$list = $ds->loadList($request->makeSelect());
// Chargement des list_items par concept, field ou list
$request = new CRequest();
$request->addTable("ex_list_item");
$request->addSelect(array("ex_list_item_id", "list_id", "concept_id", "field_id", "name"));
$list_items = $ds->loadList($request->makeSelect());
// Chargement en une seule requete de toutes les traductions de champs
$enum_list_cache = array("list" => array(), "concept" => array(), "field" => array());
$mapper = array("list_id" => "list", "concept_id" => "concept", "field_id" => "field");
foreach ($list_items as $_item) {
$_item_id = $_item["ex_list_item_id"];
$_item_name = $_item["name"];
foreach ($mapper as $_field_name => $_to) {
if ($_field_value = $_item[$_field_name]) {
$enum_list_cache[$_to][$_field_value][$_item_id] = $_item_name;
}
}
}
foreach ($list as $_item) {
$_locales = array();
$key = "-{$_item['name']}";
$_locales[$key] = $_item["std"];
if ($_item["desc"]) {
$_locales["{$key}-desc"] = $_item["desc"];
}
if ($_item["court"]) {
$_locales["{$key}-court"] = $_item["court"];
}
$_ex_class_id = $_item['ex_class_id'];
$_prefix = "CExObject_{$_ex_class_id}";
$prop = $_item["prop"];
if (strpos($prop, "enum") === false && strpos($prop, "set") === false) {
if (!isset($_all_locales[$_prefix])) {
$_all_locales[$_prefix] = array();
}
$_all_locales[$_prefix] = array_merge($_all_locales[$_prefix], $_locales);
continue;
}
$key = ".{$_item['name']}";
$_locales["{$key}."] = $undefined;
$concept_id = $_item["concept_id"];
$ex_list_id = $_item["ex_list_id"];
$field_id = $_item["field_id"];
$enum_list = array();
if ($concept_id) {
if ($ex_list_id) {
if (isset($enum_list_cache["list"][$ex_list_id])) {
$enum_list = $enum_list_cache["list"][$ex_list_id];
}
} else {
if (isset($enum_list_cache["concept"][$concept_id])) {
$enum_list = $enum_list_cache["concept"][$concept_id];
}
}
} else {
if (isset($enum_list_cache["field"][$field_id])) {
$enum_list = $enum_list_cache["field"][$field_id];
}
}
foreach ($enum_list as $_value => $_locale) {
$_locales["{$key}.{$_value}"] = $_locale;
}
if (!isset($_all_locales[$_prefix])) {
$_all_locales[$_prefix] = array();
}
$_all_locales[$_prefix] = array_merge($_all_locales[$_prefix], $_locales);
}
DSHM::put("exclass-locales-{$lang}", $_all_locales, true);
}
foreach ($_all_locales as $_prefix => $_locales) {
CAppUI::addLocales($_prefix, $_locales);
}
self::$_locales_ready = true;
}
示例14: array
<?php
/* $Id $ */
/**
* Show list tags EAI
*
* @category EAI
* @package Mediboard
* @author SARL OpenXtrem <dev@openxtrem.com>
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html
* @version SVN: $Id:$
* @link http://www.mediboard.org
*/
CCanDo::checkAdmin();
$object_class = CValue::get("object_class");
$ds = CSQLDataSource::get("std");
$where = array("object_class" => "= '{$object_class}'");
// Liste des tags pour un object_class
$req = new CRequest();
$req->addTable("id_sante400");
$req->addColumn("tag");
$req->addWhere($where);
$req->addGroup("tag");
$tags = CMbArray::pluck($ds->loadList($req->makeSelect()), "tag");
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("tags", $tags);
$smarty->display("inc_show_list_tags.tpl");
示例15: getFormulaResult
/**
* Get the formula field
*
* @param string $field_name Field name
* @param array $where The WHERE statement
*
* @return array|null
*/
function getFormulaResult($field_name, $where)
{
$ds = $this->getDS();
$table = $this->getTableName();
$where["ex_link.ex_class_id"] = "= '{$this->_id}'";
$ljoin = array("ex_link" => "ex_link.ex_object_id = {$table}.ex_object_id");
$request = new CRequest();
$request->addSelect($field_name);
$request->addTable($table);
$request->addWhere($where);
$request->addLJoin($ljoin);
$request->addOrder("ex_link.ex_object_id DESC");
return $ds->loadResult($request->makeSelect());
}