Заметки по yii2. Даты, bootstrap, expression for db

1. Форматирование даты по умолчанию при использовании \Yii::$app->formatter

'components' => [
...
'formatter' => [
'class' => 'yii\i18n\Formatter',
'dateFormat' => 'd-M-Y',
'datetimeFormat' => 'd-M-Y H:i:s',
'timeFormat' => 'H:i:s',
],
...
],

2. Отключение стилей бутстрапа(bootstrap.css) и подключение своего стиля и js скриптов

'components' => [
...
'assetManager' => [
'bundles'=>[
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
]
],
...
],

assets/AppAsset.php

class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css', // web/css/site.css
'css/site2.css', // web/css/site2.css
];
public $js = [
'js/exmaple.js', // web/js/exmaple.js
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
public $jsOptions = array(
'position' => \yii\web\View::POS_HEAD
); // подключение js скриптов вначале
}

3. Используем yii\db\Expression для конструкций типа NOW() — получить текущее время, RAND() — сортировка в случайном порядке.


// получаем случайные ссылки

use yii\db\Expression;

$link = Link::find()->where(['status' => 1])
->orderBy(new Expression('rand()'))
->limit(5)
->all();


// перед сохранением в БД, добавляем записи время ее создания в модели!

public function beforeSave($insert)
{
if ($this->isNewRecord)
{
$this->created = new \yii\db\Expression('NOW()');
}
return parent::beforeSave($insert);
}

Просмотров: 983

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Перед отправкой формы:
Human test by Not Captcha