本文整理匯總了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]);
}
}