Найдено 18 результатов

olegtmb
2018.06.16, 23:45
Форум: Авторский код и библиотеки
Тема: Трейт для ActiveRecord. FirstOrCreate
Ответы: 7
Просмотры: 1106

Re: Трейт для ActiveRecord. FirstOrCreate

Как тебе такое? Раз уж ты все равно SOLID нарушил =) // @return ModelTable // @thrown Exception $model = ModelTable::firstOrNew(['id' => 50], new RuntimeException()); Да, согласен, можно добавить тип исключения в параметр (Только в методы ...OrFail). Но, надо что-то сделать по умолчанию. Стандартны...
olegtmb
2018.06.15, 19:48
Форум: Авторский код и библиотеки
Тема: Трейт для ActiveRecord. FirstOrCreate
Ответы: 7
Просмотры: 1106

Re: Трейт для ActiveRecord. FirstOrCreate

И без лимита findOne выберет все записи, а потом вернет первую, что может негативно сказаться на производительности, для полей с уникальным индексом это пофиг конечно. Реализовано добавление limit(1) в запрос. Модифицированы и добавлены методы: //public static function firstOrNew($attributes, $valu...
olegtmb
2018.06.14, 23:38
Форум: Авторский код и библиотеки
Тема: Трейт для ActiveRecord. FirstOrCreate
Ответы: 7
Просмотры: 1106

Re: Трейт для ActiveRecord. FirstOrCreate

А там точно только self, а не static?
Исправил self на static. Спасибо SiZE!
Я бы назвал findOneOrNew и findOneOrCreat
Насчёт наименования мне кажется, что firstOrNew более лаконично и смысл не теряется.
olegtmb
2018.06.14, 21:35
Форум: Авторский код и библиотеки
Тема: Трейт для ActiveRecord. FirstOrCreate
Ответы: 7
Просмотры: 1106

Трейт для ActiveRecord. FirstOrCreate

Здравствуйте! Поиск модели ActiveRecord по атрибутам FindOne() может завершится неудачей и вернёт null. Эту ситуацию необходимо обрабатывать и возможно создавать новую модель с атрибутами поиска для продолжения работы с ней. Эту задачу упрощает данный трейт, идея, которого заимствованна из Laravel. ...
olegtmb
2018.06.03, 23:30
Форум: Общие вопросы по программированию
Тема: БД: замыкание таблицы на саму себя
Ответы: 6
Просмотры: 822

Re: БД: замыкание таблицы на саму себя

Посмотрите эту тему: https://www.yiiframework.com/doc/guide/ ... ive-record
Особенно разделы:
  • Работа со связными данными;
    Связывание посредством промежуточной таблиц;
    Сохранение связных данных
olegtmb
2018.06.03, 23:02
Форум: Общие вопросы (Yii 2.x)
Тема: Не стартуют Assets
Ответы: 2
Просмотры: 392

Re: Не стартуют Assets

Ошибка сообщает, что не найден jquery (assets/73dcb94d/jquery.js) В зависимости 'yii\web\YiiAsset' содержится зависимость: 'yii\web\JqueryAsset' class JqueryAsset extends AssetBundle { public $sourcePath = '@bower/jquery/dist'; public $js = [ 'jquery.js', ]; } Вот там и нет jquery. Скорее всего у по...
olegtmb
2017.03.21, 15:27
Форум: Общие вопросы (Yii 2.x)
Тема: Сортировка данных
Ответы: 11
Просмотры: 2178

Re: Сортировка данных

Можно сделать две выборки с ограничением по полю created_at с разным порядком сортировки.
Затем объединить их, например в 'allModels' в ArrayDataProvider
olegtmb
2017.03.04, 16:56
Форум: Общие вопросы (Yii 2.x)
Тема: Получить адрес текущей страницы в Yii2?
Ответы: 8
Просмотры: 9309

Re: Получить адрес текущей страницы в Yii2?

Код: Выделить всё

Yii::$app->request->resolve();
Возвращает текущий путь и параметры в виде массива
olegtmb
2017.02.17, 11:30
Форум: Общие вопросы (Yii 2.x)
Тема: Тригер с помощью миграции
Ответы: 4
Просмотры: 1044

Re: Тригер с помощью миграции

Код: Выделить всё

CREATE TRIGGER before_insert_links	
BEFORE INSERT 	ON links
	FOR EACH ROW
BEGIN
  DELETE FROM links WHERE time_to_live < CURRENT_TIMESTAMP;
END
Синтаксис такой должен создать тригер.
Но будет ли он работать? Если в DELETE указать другую таблицу, то будет
olegtmb
2017.02.17, 00:08
Форум: Общие вопросы (Yii 2.x)
Тема: Тригер с помощью миграции
Ответы: 4
Просмотры: 1044

Re: Тригер с помощью миграции

BEGIN не хватает перед DELETE
olegtmb
2017.02.16, 23:09
Форум: Общие вопросы (Yii 2.x)
Тема: Как сохранить данные в БД
Ответы: 8
Просмотры: 1361

Re: Как сохранить данные в БД

Код: Выделить всё

 if($entryForm->validate())
 {
      var_dump($entryForm);
 }
После $entryForm->validate() надо данные сохранить: $entryForm->save()
olegtmb
2015.08.05, 19:48
Форум: Предлагаю работу
Тема: Требуются программисты на постоянную удалённую работу
Ответы: 4
Просмотры: 1913

Re: Требуются программисты на постоянную удалённую работу

Уточню, вакансия в отдел программирования, удалённая работа full-time
olegtmb
2015.08.05, 18:08
Форум: Предлагаю работу
Тема: Требуются программисты на постоянную удалённую работу
Ответы: 4
Просмотры: 1913

Требуются программисты на постоянную удалённую работу

Требуются программисты на удаленную работу на полный рабочий день. Требования: - уверенное знание PHP, mysql, javascript, jquery - Yii (желательно 2-й версии); - Опыт работы с javascript, jquery - опыт работы с GIT - ответственный подход к работе Требуется написать сайт (интернет-магазин) на Yii2. З...
olegtmb
2015.04.24, 23:38
Форум: Предлагаю работу
Тема: Удаленный программист на проект. Yii2
Ответы: 5
Просмотры: 1479

Re: Удаленный программист на проект. Yii2

Есть опыт работы на Yii и Yii2.
Сейчас свободен.
Почта для ТЗ: oleg@portalnews.ru
olegtmb
2014.04.24, 14:15
Форум: Авторский код и библиотеки
Тема: Расширение для CGridView для копирования записи
Ответы: 0
Просмотры: 655

Расширение для CGridView для копирования записи

Здравствуйте!

Разработано расширение, которое позволяет нажатием на кнопку в CGridView скопировать запись.
Можно настроить правила копирования для полей.

https://github.com/oleg-p/copyRecord

Прошу вносить предложения или сообщения об ошибках.
olegtmb
2013.08.07, 08:50
Форум: Баг-репорты и предложения (Yii 1.x)
Тема: Проблема с createUrl()
Ответы: 3
Просмотры: 2539

Re: Проблема с createUrl()

После дополнительного тестирования выяснилось, что функция php header работает также, header('Location: /product/basket/view'); то есть старый акнор остаётся. А переход с помощью javascript работает нормально, то есть анкор очищается <script language = 'javascript'>    document.location.href = '/pro...
olegtmb
2013.08.06, 20:41
Форум: Баг-репорты и предложения (Yii 1.x)
Тема: Проблема с createUrl()
Ответы: 3
Просмотры: 2539

Проблема с createUrl()

Из контроллера, который вызывается по ссылке: http://site/product/tovar/priceGroupPart/group/18/tarif/9#9 осуществляю редирект следующим образом: $this->redirect(array('/product/basket/view','id'=>$id)); Переход осуществляется по следующему адресу: http://site/product/basket/view/id/13#9 , то есть в...