本文整理汇总了PHP中Phalcon\Mvc\Model\Criteria::bind方法的典型用法代码示例。如果您正苦于以下问题:PHP Criteria::bind方法的具体用法?PHP Criteria::bind怎么用?PHP Criteria::bind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phalcon\Mvc\Model\Criteria
的用法示例。
在下文中一共展示了Criteria::bind方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute($params = array())
{
if (array_key_exists('binds', $params)) {
$binds = $params['binds'];
$this->query->bind($binds);
}
if (array_key_exists('order', $params)) {
$order = $params['order'];
$this->query->orderBy($order);
}
if (array_key_exists('limit', $params)) {
$limit = $params['limit'];
$this->query->limit($limit[0], $limit[1]);
}
try {
return $this->query->execute();
} catch (Exception $e) {
return false;
}
}
示例2: fromInput
public function fromInput($modelName, $data)
{
if (!is_array($data)) {
throw new Exception("Input data must be an Array");
}
$conditions = array();
if (count($data)) {
$metaData = $this->getDI()->getShared('modelsMetadata');
$model = new $modelName();
$dataTypes = $metaData->getDataTypes($model);
$columnMap = $metaData->getReverseColumnMap($model);
$bind = array();
foreach ($data as $fieldName => $value) {
if (isset($columnMap[$fieldName])) {
$field = $columnMap[$fieldName];
} else {
continue;
}
if (isset($dataTypes[$field])) {
if (!is_null($value)) {
if ($value != '') {
$type = $dataTypes[$field];
if ($type == 2) {
$condition = $fieldName . " LIKE :" . $fieldName . ":";
$bind[$fieldName] = '%' . $value . '%';
} else {
$condition = $fieldName . ' = :' . $fieldName . ':';
$bind[$fieldName] = $value;
}
$conditions[] = $condition;
}
}
}
}
}
$criteria = new Criteria();
if (count($conditions)) {
$joinConditions = join(' AND ', $conditions);
$criteria->where($joinConditions);
$criteria->bind($bind);
}
return $criteria;
}
示例3: fromInput
/**
* Builds a \Phalcon\Mvc\Model\Criteria based on an input array like $_POST
*
* @param \Phalcon\DiInterface $dependencyInjector
* @param string $modelName
* @param array $data
* @return \Phalcon\Mvc\Model\Criteria
* @throws Exception
*/
public static function fromInput($dependencyInjector, $modelName, $data)
{
if (is_object($dependencyInjector) === false || $dependencyInjector instanceof DiInterface === false) {
throw new Exception('A dependency injector container is required to obtain the ORM services');
}
if (is_string($modelName) === false) {
throw new Exception('Invalid parameter type.');
}
if (is_array($data) === false) {
throw new Exception('Model data must be an Array');
}
if (empty($data) === false) {
$conditions = array();
$metaData = $dependencyInjector->getShared('modelsMetadata');
$model = new $modelName();
$dataTypes = $metaData->getDataTypes($model);
$bind = array();
//We look for attributes in the array passed as data
foreach ($data as $field => $value) {
if (isset($dataTypes[$field]) === true && is_null($value) === false && $value !== '') {
if ($dataTypes[$field] === 2) {
//For varchar types we use LIKE operator
$condition = $field . ' LIKE :' . $field . ':';
$bind[$field] = '%' . $value . '%';
} else {
//For the rest of data types we use a plain = operator
$condition = $field . '=:' . $field . ':';
$bind[$field] = $value;
}
$conditions[] = $condition;
}
}
}
//Create an object instance and pass the parameters to it
$criteria = new Criteria();
if (isset($conditions) === true && empty($conditions) === false) {
$criteria->where(implode(' AND ', $conditions));
$criteria->bind($bind);
}
$criteria->setModelName($modelName);
return $criteria;
}