* @return ActiveQueryInterface the relational query object. * @since 2.0.12 * @see hasOne() * @see hasMany() */ protected function createRelationQuery($class, $link, $multiple) { /* @var $class ActiveRecordInterface */ /* @var $query ActiveQuery */ $query = $class::find(); $query->primaryModel = $this; $query->link = $link; $query->multiple = $multiple; return $query; } /** * Populates the named relation with the related records. * Note that this method does not check if the relation exists or not.
* the attributes of the record associated with the `$class` model, while the values of the * array refer to the corresponding attributes in **this** AR class. * @return ActiveQueryInterface the relational query object. */ public function hasOne($class, $link) { return $this->createRelationQuery($class, $link, false); } /** * Declares a `has-many` relation. * The declaration is returned in terms of a relational [[ActiveQuery]] instance * through which the related record can be queried and retrieved back.
* @return \yii\db\ActiveQuery */ public function getAuthor() { $module = Yii::$app->getModule(Module::$name); return $this->hasOne($module->userIdentityClass, ['id' => 'createdBy']); } // /** // * Get comments tree. // * // * @param string $entity model class id
*/ public function getRelation($name, $throwException = true) { $getter = 'get' . $name; try { // the relation could be defined in a behavior $relation = $this->$getter(); } catch (UnknownMethodException $e) { if ($throwException) { throw new InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".', 0, $e); } return null;
$name = substr($name, 0, $pos); } else { $childName = null; } if (!isset($relations[$name])) { $relation = $model->getRelation($name); $relation->primaryModel = null; $relations[$name] = $relation; } else { $relation = $relations[$name]; }
$primaryModel = reset($models); if (!$primaryModel instanceof ActiveRecordInterface) { /* @var $modelClass ActiveRecordInterface */ $modelClass = $this->modelClass; $primaryModel = $modelClass::instance(); } $relations = $this->normalizeRelations($primaryModel, $with); /* @var $relation ActiveQuery */ foreach ($relations as $name => $relation) { if ($relation->asArray === null) { // inherit asArray from primary query $relation->asArray($this->asArray); }
$models = $this->createModels($rows); if (!empty($this->join) && $this->indexBy === null) { $models = $this->removeDuplicatedModels($models); } if (!empty($this->with)) { $this->findWith($this->with, $models); } if ($this->inverseOf !== null) { $this->addInverseRelations($models); }
public function all($db = null) { if ($this->emulateExecution) { return []; } $rows = $this->createCommand($db)->queryAll(); return $this->populate($rows); } /** * Converts the raw query results into the format as specified by this query. * This method is internally used to convert the data fetched from database * into the format as required by this query.
* @param Connection $db the DB connection used to create the DB command. * If null, the DB connection returned by [[modelClass]] will be used. * @return array|ActiveRecord[] the query results. If the query results in nothing, an empty array will be returned. */ public function all($db = null) { return parent::all($db); } /** * {@inheritdoc} */ public function prepare($builder)
if ($this->showDeletedComments === FALSE) { $query->andWhere(['!=', 'status', CommentStatus::DELETED]); } $dataProvider = new ArrayDataProvider([ 'allModels' => $query->all(), 'sort' => $this->sort, 'pagination' => $this->pagination ]); return $this->render('index', [ 'commentModel' => $commentModel,
try { /* @var $widget Widget */ $config['class'] = get_called_class(); $widget = Yii::createObject($config); $out = ''; if ($widget->beforeRun()) { $result = $widget->run(); $out = $widget->afterRun($result); } } catch (\Exception $e) { // close the output buffer opened above if it has not been closed already if (ob_get_level() > 0) { ob_end_clean();
<script src="https://cdn.jsdelivr.net/npm/yandex-share2/share.js"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,pinterest,twitter,telegram,whatsapp" data-image="/uploads/images/<?= $model->id . '/' . $xfields['cover'] ?>"></div> <hr> <a href="#" class="btn btn-default" onclick="history.back();">Вернуться к статьям</a> </div> <hr> <?php echo \cyneek\comments\widgets\Comment::widget(['model' => $model]); ?> </div> </div>
{ $_obInitialLevel_ = ob_get_level(); ob_start(); ob_implicit_flush(false); extract($_params_, EXTR_OVERWRITE); try { require $_file_; return ob_get_clean(); } catch (\Exception $e) { while (ob_get_level() > $_obInitialLevel_) { if (!@ob_end_clean()) { ob_clean(); }
$this->renderers[$ext] = Yii::createObject($this->renderers[$ext]); } /* @var $renderer ViewRenderer */ $renderer = $this->renderers[$ext]; $output = $renderer->render($this, $viewFile, $params); } else { $output = $this->renderPhpFile($viewFile, $params); } $this->afterRender($viewFile, $params, $output); } array_pop($this->_viewFiles); $this->context = $oldContext;
* @throws InvalidCallException if the view cannot be resolved. * @see renderFile() */ public function render($view, $params = [], $context = null) { $viewFile = $this->findViewFile($view, $context); return $this->renderFile($viewFile, $params, $context); } /** * Finds the view file based on the given view name. * @param string $view the view name or the [path alias](guide:concept-aliases) of the view file. Please refer to [[render()]] * on how to specify this parameter.
* These parameters will not be available in the layout. * @return string the rendering result. * @throws InvalidArgumentException if the view file or the layout file does not exist. */ public function render($view, $params = []) { $content = $this->getView()->render($view, $params, $this); return $this->renderContent($content); } /** * Renders a static string by applying a layout. * @param string $content the static string being rendered
//If-Modified-Since \common\components\MyFunction::lastmodified(date("Y-m-d")); //-------------------------------- return $this->render('article', [ 'model' => $model, 'xfields' => $xfields, ]); } public function actionSearch($text) { if($text != ''){
$args = $this->controller->bindActionParams($this, $params); Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__); if (Yii::$app->requestedParams === null) { Yii::$app->requestedParams = $args; } return call_user_func_array([$this->controller, $this->actionMethod], $args); } }
} $result = null; if ($runAction && $this->beforeAction($action)) { // run the action $result = $action->runWithParams($params); $result = $this->afterAction($action, $result); // call afterAction on modules foreach ($modules as $module) { /* @var $module Module */
$parts = $this->createController($route); if (is_array($parts)) { /* @var $controller Controller */ list($controller, $actionID) = $parts; $oldController = Yii::$app->controller; Yii::$app->controller = $controller; $result = $controller->runAction($actionID, $params); if ($oldController !== null) { Yii::$app->controller = $oldController; } return $result; }
$params = $this->catchAll; unset($params[0]); } try { Yii::debug("Route requested: '$route'", __METHOD__); $this->requestedRoute = $route; $result = $this->runAction($route, $params); if ($result instanceof Response) { return $result; } $response = $this->getResponse(); if ($result !== null) {
{ try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
require __DIR__ . '/../../common/config/main.php', require __DIR__ . '/../../common/config/main-local.php', require __DIR__ . '/../config/main.php', require __DIR__ . '/../config/main-local.php' ); (new yii\web\Application($config))->run();
$_GET = [ 'id' => '1542', 'slug' => 'diagnostika-koda-na rust', ];