本文整理汇总了PHP中yii\db\ActiveQuery::with方法的典型用法代码示例。如果您正苦于以下问题:PHP ActiveQuery::with方法的具体用法?PHP ActiveQuery::with怎么用?PHP ActiveQuery::with使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\db\ActiveQuery
的用法示例。
在下文中一共展示了ActiveQuery::with方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _run
protected function _run()
{
$key = $this->getCacheKey() . 'run';
$dependency = new TagDependency(['tags' => [$this->className() . (string) $this->namespace, (new Tree())->getTableCacheTag()]]);
$result = \Yii::$app->cache->get($key);
if ($result === false || $this->enabledRunCache == Cms::BOOL_N) {
$this->activeQuery = Tree::find();
if ($this->treePid) {
$this->activeQuery->andWhere(['pid' => $this->treePid]);
}
if ($this->level) {
$this->activeQuery->andWhere(['level' => $this->level]);
}
if ($this->active) {
$this->activeQuery->andWhere(['active' => $this->active]);
}
if ($this->site_codes) {
$this->activeQuery->andWhere(['site_code' => $this->site_codes]);
}
if ($this->enabledCurrentSite == Cms::BOOL_Y && ($currentSite = \Yii::$app->cms->site)) {
$this->activeQuery->andWhere(['site_code' => $currentSite->code]);
}
if ($this->orderBy) {
$this->activeQuery->orderBy([$this->orderBy => (int) $this->order]);
}
if ($this->tree_type_ids) {
$this->activeQuery->andWhere(['tree_type_id' => $this->tree_type_ids]);
}
/**
*
*/
if ($this->with) {
$this->activeQuery->with($this->with);
}
if ($this->activeQueryCallback && is_callable($this->activeQueryCallback)) {
$callback = $this->activeQueryCallback;
$callback($this->activeQuery);
}
$result = parent::_run();
\Yii::$app->cache->set($key, $result, (int) $this->runCacheDuration, $dependency);
}
return $result;
}