本文整理汇总了PHP中common\models\Category::beforeSave方法的典型用法代码示例。如果您正苦于以下问题:PHP Category::beforeSave方法的具体用法?PHP Category::beforeSave怎么用?PHP Category::beforeSave使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common\models\Category
的用法示例。
在下文中一共展示了Category::beforeSave方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: beforeSave
public function beforeSave($insert)
{
$redirectLink = new Redirect(['from' => $this->fullLink]);
if (!$this->link) {
$this->link = TranslitHelper::to($this->title);
}
if ($this->isAttributeChanged('parent') || $this->isAttributeChanged('link')) {
$this->fullLink = '';
if ($parent = $this->getParentCategory()) {
$linkParts = [$parent->link];
while ($parent = $parent->getParentCategory()) {
$linkParts[] = $parent->getRelativeLink();
}
$this->fullLink = implode('/', $linkParts) . '/';
}
$this->fullLink .= $this->link;
if ($childs = $this->getChildCategories()) {
foreach ($childs as $childCategory) {
$childCategory->fullLink = $this->fullLink . '/' . $childCategory->link;
$childCategory->save(false);
}
}
$redirectLink->to = $this->fullLink;
}
if ($redirectLink->to) {
$redirectLink->save();
}
return parent::beforeSave($insert);
// TODO: Change the autogenerated stub
}
示例2: actionCreate
/**
* Creates a new Category model.
* If creation is successful, the browser will be redirected to the 'view' page.
* @return mixed
*/
public function actionCreate()
{
$model = new Category();
$model->beforeSave(TRUE);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', ['model' => $model]);
}
}