Класс Phalcon\Mvc\Collection
реализует Phalcon\Mvc\CollectionInterface, Phalcon\DI\InjectionAwareInterface, Serializable
Этот компонент реализует высокоуровневую абстракцию для баз данных NoSQL, работающую с документами
Константы
целое число OP_NONE
целое число OP_CREATE
целое число OP_UPDATE
целое число OP_DELETE
Методы
final public __construct ([Phalcon\DiInterface $dependencyInjector])
Конструктор Phalcon\Mvc\Model
public setId (смешанный тип $id)
Устанавливает значение для свойства _id, создаёт объект MongoId при необходимости
public MongoId getId ()
Возвращает значение свойства _id
public setDI (Phalcon\DiInterface $dependencyInjector)
Устанавливает контейнер инъекций зависимостей
public Phalcon\DiInterface getDI ()
Возвращает контейнер инъекций зависимостей
protected setEventsManager (Phalcon\Events\ManagerInterface $eventsManager)
Устанавливает пользовательский менеджер событий
protected Phalcon\Events\ManagerInterface getEventsManager ()
Возвращает пользовательский менеджер событий
public Phalcon\Mvc\Model\ManagerInterface getModelsManager ()
Возвращает менеджер моделей, связанный с экземпляром сущности
public массив getReservedAttributes ()
Возвращает массив со свойствами, которые не могут быть частью вставки/обновления
protected useImplicitObjectIds ()
Устанавливает, должен ли модель использовать неявные идентификаторы объектов
protected Phalcon\Mvc\Collection setSource ()
Устанавливает имя коллекции, которая должна быть сопоставлена с моделью
public строка getSource ()
Возвращает имя коллекции, сопоставленной в модели
public Phalcon\Mvc\Model setConnectionService (строка $connectionService)
Устанавливает имя службы соединения DependencyInjection
public строка getConnectionService ()
Возвращает службу соединения DependencyInjection
public MongoDb getConnection ()
Получает подключение к базе данных
public смешанный тип readAttribute (строка $attribute)
Считывает значение атрибута по его имени
echo $robot->readAttribute('name');
public writeAttribute (строка $attribute, смешанный тип $value)
Записывает значение атрибута по его имени
$robot->writeAttribute('name', 'Rosey');
public static Phalcon\Mvc\Collection cloneResult (Phalcon\Mvc\Collection $collection, массив $document)
Возвращает клонированную коллекцию
protected static массив _getResultset ()
Возвращает результат набора коллекций
protected static целое число _getGroupResultset ()
Выполняет подсчёт над набором результатов
protected логическое значение _preSave ()
Выполняет внутренние хуки перед сохранением документа
protected логическое значение _postSave ()
Выполняет внутренние события после сохранения документа
protected validate ()
Выполняет валидацию на каждом вызове валидации
use Phalcon\Mvc\Model\Validator\ExclusionIn as ExclusionIn;
class Subscriptors extends Phalcon\Mvc\Collection
{
public function validation()
{
$this->validate(new ExclusionIn(array(
'field' => 'status',
'domain' => array('A', 'I')
)));
if ($this->validationHasFailed() == true) {
return false;
}
}
}
public логическое значение validationHasFailed ()
Проверяет, сгенерировало ли процесс валидации какие-либо сообщения
use Phalcon\Mvc\Model\Validator\ExclusionIn as ExclusionIn;
class Subscriptors extends Phalcon\Mvc\Collection
{
public function validation()
{
$this->validate(new ExclusionIn(array(
'field' => 'status',
'domain' => array('A', 'I')
)));
if ($this->validationHasFailed() == true) {
return false;
}
}
}
public логическое значение fireEvent (строка $eventName)
Вызывает внутреннее событие
public логическое значение fireEventCancel (строка $eventName)
Вызывает внутреннее событие, которое отменяет операцию
protected логическое значение _cancelOperation ()
Отменить текущую операцию
protected _exists ()
Проверяет, существует ли документ в коллекции
public Phalcon\Mvc\Model\MessageInterface [] getMessages ()
Возвращает все сообщения валидации
$robot = new Robots();
$robot->type = 'mechanical';
$robot->name = 'Astro Boy';
$robot->year = 1952;
if ($robot->save() == false) {
echo "Umh, We can't store robots right now ";
foreach ($robot->getMessages() as $message) {
echo $message;
}
} else {
echo "Great, a new robot was saved successfully!";
}
public appendMessage (Phalcon\Mvc\Model\MessageInterface $message)
Добавляет настраиваемое сообщение в процесс валидации
use \Phalcon\Mvc\Model\Message as Message;
class Robots extends Phalcon\Mvc\Model
{
public function beforeSave()
{
if ($this->name == 'Peter') {
$message = new Message("Sorry, but a robot cannot be named Peter");
$this->appendMessage($message);
}
}
}
public логическое значение save ()
Создаёт/обновляет коллекцию на основе значений в атрибутах
public static Phalcon\Mvc\Collection findById (строка|MongoId $id)
Находит документ по его идентификатору (_id)
public static массив findFirst ([массив $parameters])
Позволяет запросить первый запис который соответствует указанным условиям
//What's the first robot in the robots table?
$robot = Robots::findFirst();
echo "The robot name is ", $robot->name, "\n";
//What's the first mechanical robot in robots table?
$robot = Robots::findFirst(array(
array("type" => "mechanical")
));
echo "The first mechanical robot name is ", $robot->name, "\n";
//Get first virtual robot ordered by name
$robot = Robots::findFirst(array(
array("type" => "mechanical"),
"order" => array("name" => 1)
));
echo "The first virtual robot name is ", $robot->name, "\n";
public static массив find ([массив $parameters])
Позволяет запросить набор записей, которые соответствуют указанным условиям
//How many robots are there?
$robots = Robots::find();
echo "There are ", count($robots), "\n";
//How many mechanical robots are there?
$robots = Robots::find(array(
array("type" => "mechanical")
));
echo "There are ", count($robots), "\n";
//Get and print virtual robots ordered by name
$robots = Robots::findFirst(array(
array("type" => "virtual"),
"order" => array("name" => 1)
));
foreach ($robots as $robot) {
echo $robot->name, "\n";
}
//Get first 100 virtual robots ordered by name
$robots = Robots::find(array(
array("type" => "virtual"),
"order" => array("name" => 1),
"limit" => 100
));
foreach ($robots as $robot) {
echo $robot->name, "\n";
}
public static массив count ([массив $parameters])
Выполняет подсчёт в коллекции
echo 'There are ', Robots::count(), ' robots';
public static массив aggregate (массив $parameters)
Выполняет агрегацию с использованием фреймворка агрегации Mongo
public static массив summatory (строка $field, [массив $conditions], [строка $finalize])
Позволяет выполнить суммарную группировку для столбца в коллекции
public логическое значение delete ()
Удаляет экземпляр модели. Возвращает true при успехе или false в противном случае.
$robot = Robots::findFirst();
$robot->delete();
foreach (Robots::find() as $robot) {
$robot->delete();
}
public массив toArray ()
Возвращает экземпляр в виде массива
print_r($robot->toArray());
public строка serialize ()
Сериализует объект, игнорируя подключения или защищённые свойства
public unserialize ([неизвестно $serialized])
Десериализует объект из сериализованной строки
public static массив execute (смешанный тип $code, [массив $args])
Выполняет JavaScript-код на сервере базы данных.
$ret = Robots::execute("function() { return 'Hello, world!';}");
echo $ret['retval'], "\n";
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Mvc_Collection.html