本文整理汇总了PHP中Yii::enableProfile方法的典型用法代码示例。如果您正苦于以下问题:PHP Yii::enableProfile方法的具体用法?PHP Yii::enableProfile怎么用?PHP Yii::enableProfile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Yii
的用法示例。
在下文中一共展示了Yii::enableProfile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findAndModify
/**
* Find one record, modifies, and returns it.
* @return null|EMongoDocument
*/
public function findAndModify($criteria = array(), $updateDoc = array(), $fields = array(), $options = array())
{
$this->trace(__FUNCTION__);
if ($criteria instanceof EMongoCriteria) {
$criteria = $criteria->getCondition();
}
$c = $this->getDbCriteria();
$criteria = $this->mergeCriteria(isset($c['condition']) ? $c['condition'] : array(), $criteria);
$fields = $this->mergeCriteria(isset($c['project']) ? $c['project'] : array(), $fields);
$options = array_merge($this->getDbConnection()->getDefaultWriteConcern(), $options);
if (YII_DEBUG) {
Yii::trace('Executing findAndModify: { $query: ' . json_encode($criteria) . ', $document: ' . json_encode($updateDoc) . ', $fields: ' . json_encode($fields) . ', $options: ' . json_encode($options) . '}', 'extensions.MongoYii.EMongoDocument');
}
if ($this->getDbConnection()->enableProfiling) {
$token = 'extensions.MongoYii.EMongoDocument.query.' . $this->collectionName() . '.findAndModify({ $query: ' . json_encode($criteria) . ', $document: ' . json_encode($updateDoc) . ', $fields: ' . json_encode($fields) . ', $options: ' . json_encode($options) . '})';
Yii::beginProfile($token, 'extensions.MongoYii.EMongoDocument.findAndModify');
}
$result = $this->getCollection()->findAndModify($criteria, $updateDoc, $fields, $options);
if ($this->getDbConnection()->enableProfiling) {
Yii::enableProfile($token, 'extensions.MongoYii.EMongoDocument.findAndModify');
}
if ($result === null) {
return null;
}
return $this->populateRecord($result, true, $fields === array() ? false : true);
}