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

vladqa
2014.05.07, 13:09
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

Конечно там ограничение количества строк. Например мне нужно выбрать модель по id, то только такую, которая имеет статус "Active" и удовлетворяет другим доп. условиям: <?php $post = Post::find() ->onlyActive() ->onlySomeAnotherCondition() ->findByPk($id); Вообще я считаю, что любые фильтры и все ва...
vladqa
2014.05.07, 12:21
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

Да не обязательно он должен вернуть One. Можно передать массив PK и получить масисв объектов (аналог findAllByPk).
Предлагаю просто встроить этот скоуп в ActiveQuery, чтоб он был из коробки, ибо очень частый юзкейс.
vladqa
2014.05.07, 11:59
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

Model::find($pk)->active()->all() Вы меня радуете. Вы сами пробовали смотреть код и хотя бы сигнатуру метода ::find()? Ну, или хотя бы запустить ваш код? Скажите, куда вы тут передаете $id ? /** * @inheritdoc */ public static function find() { return new ActiveQuery(get_called_class()); }
vladqa
2014.05.07, 10:24
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

Sam Dark писал(а):Кидайте на github, ещё не поздно.
Да, спасибо. Так и поступлю.
vladqa
2014.05.07, 10:24
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

А что вы в scopes() хотите для запроса по первичному ключу предустановить? Например ->select(поля) ->asArray() ? Явно ж там не ограничение множества строк, т.к. идет то по PK все равно. Конечно там ограничение количества строк. Например мне нужно выбрать модель по id, то только такую, которая имеет...
vladqa
2014.05.07, 10:20
Форум: Общие вопросы (Yii 2.x)
Тема: Поведение AttributeBehavior
Ответы: 15
Просмотры: 3939

Re: Поведение AttributeBehavior

PS: юзать Yii::$app->user в модели - плохая практика. Лучше устанавливайте это значение в сервисе, который эти самые модели создает/сохраняет. Иначе получите проблемы, если начнете юзать модель вне web-окружения. Например, из консоли. А с этого места можно поподробнее? Yii::$app->user возвращает эк...
vladqa
2014.05.06, 23:52
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

https://github.com/yiisoft/yii2/blob/master/docs/guide/db-active-record.md#manipulating-data-in-database lancedevnull, вы себе посты набиваете или действительно хотите что-то сказать? Я уже сказал, что этот метод не подходит, т.к. к нему нельзя нормально прицепить скоупы: public static function fin...
vladqa
2014.05.06, 23:39
Форум: Общие вопросы (Yii 2.x)
Тема: Поведение AttributeBehavior
Ответы: 15
Просмотры: 3939

Re: Поведение AttributeBehavior

спасибо за варианты, но нагляднее видимо будет создавать новое поведение А не лучше ли в вашем случае просто воспользоваться DefaultValueValidator'ом ? PS: юзать Yii::$app->user в модели - плохая практика. Лучше устанавливайте это значение в сервисе, который эти самые модели создает/сохраняет. Инач...
vladqa
2014.05.06, 23:33
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

lancedevnull писал(а):по pk дефолтное поведение ::find($pk) findOne($pk)[,findAll($pk)]
Ну да. Есть findOne(), но толку мало от него, т.к. он внутри себя создает ActiveQuery, добавляет выборку по pk и сразу выполняет запрос. А прицепить scopes при этом нельзя.
vladqa
2014.05.06, 23:29
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

Re: findByPk

Спасибо, с документацией я более-менее знаком. Иначе не задавал бы вопрос. Почему вы решили, что дефолтное поведение ::find($pk) ? Ведь ::find - статический метод модели, который возвращает new ActiveQuery и не принимает параметров (если вы об этом методе). Грусть и печаль, что о такой важной вещи в...
vladqa
2014.05.06, 19:21
Форум: Общие вопросы (Yii 2.x)
Тема: findByPk
Ответы: 22
Просмотры: 10517

findByPk

Здравствуйте! В Yii1 я любил делать так: <?php public function getPost($post_id) { $post = Post::model() ->scope1() ->scope2() ->...etc ->findByPk($post_id); } И все было замечательно. Все поля модели и детали выборки инкапсулировались в scopes и выборка по PK происходила также через спец. метод. В ...
vladqa
2014.05.03, 17:10
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

http://mp.dogpedigree.net/ru/dog/4039/edit http://mp.dogpedigree.net/ru/dog/4039 Я залогинилась и у меня есть ссылка для редактирования объявления чужого - никаких шаманств А, понял вас. Это просто редактирование профиля. Да, пока что, на первое время, профили собак специально открыты для редактирв...
vladqa
2014.05.03, 15:49
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

немножко странно что я могу редактировать даже чужие объявления о продаже.. для них то по идее вики-принцип не нужен... А так - здорово, быстро, всё вполне понятно... респект :-) А можно уточнить, какие объявления вы можете редактировать? Сейчас проверяю и вижу, что все работает корректно: нельзя р...
vladqa
2014.05.03, 15:09
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

Insolita писал(а):немножко странно что я могу редактировать даже чужие объявления о продаже.. для них то по идее вики-принцип не нужен...
А так - здорово, быстро, всё вполне понятно... респект :-)
Упс, тоже баг )) такого не должно быть. Спасибо за отзыв!
vladqa
2014.05.03, 01:15
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

lancedevnull писал(а):с именами понял - они сами заполняют свою версию на англ.
Да, все имена и названия необходимо как минимум, заполнять в международном формате - на английском. Для имен собак это важно. Их нельзя просто так транслитеровать, к сожалению (
vladqa
2014.05.03, 01:07
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

на картинке видно, что верстка хоть и резиновая, но есть статика которая перекрывает лист http://storage8.static.itmages.ru/i/14/0502/h_1399068029_3505824_9b52bd3579.png в целом не плохо, порадовало чиповка и клеймовка - бывает же такое %) а так симпотно и круто что мультиязычность сразу заложена О...
vladqa
2014.05.03, 01:04
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

Re: База данных для клуба цвергпинчеров

Нормально. А историю изменений реализовали? И да и нет ) История изменений есть, но не для публичного доступа - на случай, если совсем дикие вандалы проберутся. Реализована по-быстрому простым дампом атрибутов модели в отдельную таблицу при изменении первой. Ну и есть возможность этот дамп обратно ...
vladqa
2014.05.03, 00:51
Форум: Завершённые проекты на Yii
Тема: База данных для клуба цвергпинчеров
Ответы: 13
Просмотры: 3385

База данных для клуба цвергпинчеров

Решусь поделиться своим проектом, который делал в свободное время: http://mp.dogpedigree.net Это база данных, в которую заводчики собак и их владельцы вносят своих питомцев, регистрируют свои питомники и получают возможность смотреть разного рода выборки (например, родословную, родственников) и иска...
vladqa
2014.04.19, 17:33
Форум: Общие вопросы (Yii 1.x)
Тема: Выборка MANY_MANY с отрицанием
Ответы: 1
Просмотры: 440

Выборка MANY_MANY с отрицанием

Добрый день.

Задача вроде бы тривиальная, но решение без костылей в голову как-то не приходит (

У нас есть модель Post (id, ...)
Есть модель Tag (id, name)

Связь - MANY_MANY через доп таблицу post_tags (post_id, tag_id)

Вопрос: как выбрать все посты, у которых нет определенного тега по его имени?
vladqa
2013.11.13, 11:21
Форум: Общие вопросы (Yii 1.x)
Тема: Хитрый relation
Ответы: 2
Просмотры: 435

Re: Хитрый relation

Это понятно, но будет ли в этом случае корректно работать "жадная" загрузка