Найдено 30 результатов
- 2014.05.07, 13:09
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Конечно там ограничение количества строк. Например мне нужно выбрать модель по id, то только такую, которая имеет статус "Active" и удовлетворяет другим доп. условиям: <?php $post = Post::find() ->onlyActive() ->onlySomeAnotherCondition() ->findByPk($id); Вообще я считаю, что любые фильтр...
- 2014.05.07, 12:21
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Да не обязательно он должен вернуть One. Можно передать массив PK и получить масисв объектов (аналог findAllByPk).
Предлагаю просто встроить этот скоуп в ActiveQuery, чтоб он был из коробки, ибо очень частый юзкейс.
Предлагаю просто встроить этот скоуп в ActiveQuery, чтоб он был из коробки, ибо очень частый юзкейс.
- 2014.05.07, 11:59
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Model::find($pk)->active()->all() Вы меня радуете. Вы сами пробовали смотреть код и хотя бы сигнатуру метода ::find()? Ну, или хотя бы запустить ваш код? Скажите, куда вы тут передаете $id ? /** * @inheritdoc */ public static function find() { return new ActiveQuery(get_called_class()); }
- 2014.05.07, 10:24
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Да, спасибо. Так и поступлю.Sam Dark писал(а):Кидайте на github, ещё не поздно.
- 2014.05.07, 10:24
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
А что вы в scopes() хотите для запроса по первичному ключу предустановить? Например ->select(поля) ->asArray() ? Явно ж там не ограничение множества строк, т.к. идет то по PK все равно. Конечно там ограничение количества строк. Например мне нужно выбрать модель по id, то только такую, которая имеет...
- 2014.05.07, 10:20
- Форум: Общие вопросы (Yii 2.x)
- Тема: Поведение AttributeBehavior
- Ответы: 15
- Просмотры: 7107
Re: Поведение AttributeBehavior
PS: юзать Yii::$app->user в модели - плохая практика. Лучше устанавливайте это значение в сервисе, который эти самые модели создает/сохраняет. Иначе получите проблемы, если начнете юзать модель вне web-окружения. Например, из консоли. А с этого места можно поподробнее? Yii::$app->user возвращает эк...
- 2014.05.06, 23:52
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
https://github.com/yiisoft/yii2/blob/master/docs/guide/db-active-record.md#manipulating-data-in-database lancedevnull, вы себе посты набиваете или действительно хотите что-то сказать? Я уже сказал, что этот метод не подходит, т.к. к нему нельзя нормально прицепить скоупы: public static function fin...
- 2014.05.06, 23:39
- Форум: Общие вопросы (Yii 2.x)
- Тема: Поведение AttributeBehavior
- Ответы: 15
- Просмотры: 7107
Re: Поведение AttributeBehavior
спасибо за варианты, но нагляднее видимо будет создавать новое поведение А не лучше ли в вашем случае просто воспользоваться DefaultValueValidator'ом ? PS: юзать Yii::$app->user в модели - плохая практика. Лучше устанавливайте это значение в сервисе, который эти самые модели создает/сохраняет. Инач...
- 2014.05.06, 23:33
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Ну да. Есть findOne(), но толку мало от него, т.к. он внутри себя создает ActiveQuery, добавляет выборку по pk и сразу выполняет запрос. А прицепить scopes при этом нельзя.lancedevnull писал(а):по pk дефолтное поведение ::find($pk) findOne($pk)[,findAll($pk)]
- 2014.05.06, 23:29
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
Re: findByPk
Спасибо, с документацией я более-менее знаком. Иначе не задавал бы вопрос. Почему вы решили, что дефолтное поведение ::find($pk) ? Ведь ::find - статический метод модели, который возвращает new ActiveQuery и не принимает параметров (если вы об этом методе). Грусть и печаль, что о такой важной вещи в...
- 2014.05.06, 19:21
- Форум: Общие вопросы (Yii 2.x)
- Тема: findByPk
- Ответы: 22
- Просмотры: 15748
findByPk
Здравствуйте! В Yii1 я любил делать так: <?php public function getPost($post_id) { $post = Post::model() ->scope1() ->scope2() ->...etc ->findByPk($post_id); } И все было замечательно. Все поля модели и детали выборки инкапсулировались в scopes и выборка по PK происходила также через спец. метод. В ...
- 2014.05.03, 17:10
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
http://mp.dogpedigree.net/ru/dog/4039/edit http://mp.dogpedigree.net/ru/dog/4039 Я залогинилась и у меня есть ссылка для редактирования объявления чужого - никаких шаманств А, понял вас. Это просто редактирование профиля. Да, пока что, на первое время, профили собак специально открыты для редактирв...
- 2014.05.03, 15:49
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
немножко странно что я могу редактировать даже чужие объявления о продаже.. для них то по идее вики-принцип не нужен... А так - здорово, быстро, всё вполне понятно... респект :-) А можно уточнить, какие объявления вы можете редактировать? Сейчас проверяю и вижу, что все работает корректно: нельзя р...
- 2014.05.03, 15:09
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
Упс, тоже баг )) такого не должно быть. Спасибо за отзыв!Insolita писал(а):немножко странно что я могу редактировать даже чужие объявления о продаже.. для них то по идее вики-принцип не нужен...
А так - здорово, быстро, всё вполне понятно... респект
- 2014.05.03, 01:15
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
Да, все имена и названия необходимо как минимум, заполнять в международном формате - на английском. Для имен собак это важно. Их нельзя просто так транслитеровать, к сожалению (lancedevnull писал(а):с именами понял - они сами заполняют свою версию на англ.
- 2014.05.03, 01:07
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
на картинке видно, что верстка хоть и резиновая, но есть статика которая перекрывает лист http://storage8.static.itmages.ru/i/14/0502/h_1399068029_3505824_9b52bd3579.png в целом не плохо, порадовало чиповка и клеймовка - бывает же такое %) а так симпотно и круто что мультиязычность сразу заложена О...
- 2014.05.03, 01:04
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
Re: База данных для клуба цвергпинчеров
Нормально. А историю изменений реализовали? И да и нет ) История изменений есть, но не для публичного доступа - на случай, если совсем дикие вандалы проберутся. Реализована по-быстрому простым дампом атрибутов модели в отдельную таблицу при изменении первой. Ну и есть возможность этот дамп обратно ...
- 2014.05.03, 00:51
- Форум: Завершённые проекты на Yii
- Тема: База данных для клуба цвергпинчеров
- Ответы: 13
- Просмотры: 6208
База данных для клуба цвергпинчеров
Решусь поделиться своим проектом, который делал в свободное время: http://mp.dogpedigree.net Это база данных, в которую заводчики собак и их владельцы вносят своих питомцев, регистрируют свои питомники и получают возможность смотреть разного рода выборки (например, родословную, родственников) и иска...
- 2014.04.19, 17:33
- Форум: Общие вопросы (Yii 1.x)
- Тема: Выборка MANY_MANY с отрицанием
- Ответы: 1
- Просмотры: 922
Выборка MANY_MANY с отрицанием
Добрый день.
Задача вроде бы тривиальная, но решение без костылей в голову как-то не приходит (
У нас есть модель Post (id, ...)
Есть модель Tag (id, name)
Связь - MANY_MANY через доп таблицу post_tags (post_id, tag_id)
Вопрос: как выбрать все посты, у которых нет определенного тега по его имени?
Задача вроде бы тривиальная, но решение без костылей в голову как-то не приходит (
У нас есть модель Post (id, ...)
Есть модель Tag (id, name)
Связь - MANY_MANY через доп таблицу post_tags (post_id, tag_id)
Вопрос: как выбрать все посты, у которых нет определенного тега по его имени?
- 2013.11.13, 11:21
- Форум: Общие вопросы (Yii 1.x)
- Тема: Хитрый relation
- Ответы: 2
- Просмотры: 934
Re: Хитрый relation
Это понятно, но будет ли в этом случае корректно работать "жадная" загрузка