public function deleteImage($event)
{
$imagePath = Yii::getAlias($this->_uploadPath . '/' . $this->_oldImage);
if (is_file($imagePath)) {
unlink($imagePath);
}
}
$model = new User(['ip' => Yii::$app->request->userIP]);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
......
}
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->ip = Yii::$app->request->userIP;
$model->save(false);
}
//Set component
public function init()
{
Yii::$app->setComponents(
[
'Notification' => [
'class'=>'app\components\Notification',
],
]);
}
[
'class' => TimestampBehavior::className(),
'value' => date('Y.m.d H:i'),
],
[
'class' => TimestampBehavior::className(),
'value' => function($event) {
return date('Y.m.d H:i');
},
],
В таком варианте очень неудобно использовать permission для разграничения прав, так как permission можно привязать только к группе пользователя, но не к самому пользователю.
$authManager = Yii::$app->authManager;
$userID = 1;
$permission = $authManager->getPermission('language_ru');
$authManager->assign($permission, $userID);
$data = $model->getRatings()
->select('count(rating.*), SUM(rating.quantity)')
->alias('rating')
->createCommand()
->queryOne();
$ratings = $model->ratings;
$count = $sum = 0;
if (is_array($ratings)) {
$count = count($ratings);
foreach($ratings as $rating) {
$sum += (int) $rating->quantity;
}
}
echo $count, $sum;
$model = new Model;
if ($model->load(Yii::$app->request->post)) {
$validators = $model->getValidators();
foreach($validators as $validator) {
// Ищем тут нужный нам валидатор даты и задаем ему тайм зону
$validator->timeZone = $model->timezone;
}
$model->save();
}