Никита
Для фф использую browsec vpn
Сын маминой подруги
У нас в городке полосатый провайдер для физиков блокирует всё оперативно, по распоряжению роскомнадзора, а для юриков всё открывается как по маслу, без установки расширений =)
Borys
Привет всем.
Borys
Подскажите, как этот виджет дергать компосером? https://github.com/samdark/yiifeed/blob/master/widgets/Alert.php
Юрий
Весь пакет целиком дерни
Юрий
Ну или копируй непосредственно файл если так на хочешь
Borys
Еще подскажите, пожалуйста.
Borys
Этот виджет дергает bootstrap.css
Borys
Как можно отключить? Ломает всю малину.
Borys
В depends естественно его удалил.
Borys
Нет, в assetbundle
Borys
А где найти depends виджета?
Vadim
А где найти depends виджета?
На я про assets виджета. Если отрубить глобально, но не отрубить в подключаемых виджетах, то все равно тянуться будет.
Vadim
class Alert extends \yii\bootstrap\Widget
Vadim
Вот здесь. Наследуйтесь от своего класса, например.
Borys
'assetManager' => [ 'bundles' => [ 'yii\bootstrap\BootstrapAsset' => [ 'sourcePath' => null, 'css' => [ ], ], ], ],
Borys
Помогло.
Borys
Ребят, а какой вариант для записей (прочитана/не прочитана) можно придумать кроме дополнительной таблицы?
Borys
Да.
Borys
Пока думаю так: user_id|post_id Если нет строки такой в БД, то запись не прочитана.
Borys
Но, к примеру есть 1000 записей, и 10 пользователей, в БД будет 10000 строк
Borys
Если все записи прочитаны 10 пользователями.
Borys
Если заходит новый пользователь у него автоматом будет 1000 непрочитанных записей и при нажатии "отметить все как прочитанное" писать в БД 1000 строк?)
Borys
Как-то не очень такой подход нравится.
Alexander
Разумнее будет хранить просто id непрочитанных. 😊
Vladimir
Разумнее будет хранить просто id непрочитанных. 😊
т.е. при создании пользователя записать id всех статей?
Vladimir
Разумнее будет хранить просто id непрочитанных. 😊
Хранить где? в профиле пользователя (в отдельном поле)? Как?
Borys
user_id|post_id(непрочитанная) При new Post(); save(); делать еще и запись в таблицу по всем пользователям.
Borys
Шило на мыло как по мне.
Юрий
Данные за 3 месяца условно о прочтении так хранят, все что старше автоматом помечают прочитанным и чистят
Volodymyr
/setchance@betweenlegs_bot
Volodymyr
/setchance@betweenlegs_bot
Borys
Данные за 3 месяца условно о прочтении так хранят, все что старше автоматом помечают прочитанным и чистят
А как поменить новости старше трех месяцев? Добавить им поле в которое писать что они прочитанны?
Borys
Типо: id|name|text|old|etc
Borys
И по истечению N времени old = true
Borys
В итоге новости у которых old = true не отображать в непрочитанных
Юрий
А как ты это в интерфейсе выходишь?
Юрий
if creation_date < x Тут условия проверки прочитана ли новость Тут оформление новости
Юрий
Ну или фильтрация поиска
Vladimir
По сути необходимо хранить связь пользователя и поста, для такой задачи реляционная БД не совсем то и подходит. Как вариант использовать key-value хранилище, что сделает вставку более дешевой, избавит от лишней логики.
Anonymous
Братишки! Спасите-помогите
Anonymous
Выручайте
Anonymous
я на грани безумия и нервного истощения
Anonymous
У меня есть таблица products вида: id | name 1 | product1 2 | product2 3 | product3 И есть таблица history вида: id | product id | status | date 1 | 1 | inwork | 01.02.03 2 | 1 | complete | 02.02.03 3 | 2 | inwork | 01.02.03 4 | 3 | inwork | 01.02.03 5 | 2 | complete | 03.03.03 Как бы мне составить activequery, чтобы получить список всех продуктов, у которых самый поздний по дате статус — inwork?
Borys
через связь же
Borys
гдет у меня такое похожее валяется
Павел
Выбираешь самые поздние инворки в статусе и джойнишь продукты
Павел
Или через связь в модели
Ivan
В модели product устанавливаешь связь со второй таблицей
Ivan
public function getCategory(){ return $this->hasOne(Category::className(), ['id' => 'category_id']); } типо того
Павел
Наоборот в модели статуса связь с продуктом
Павел
Выбираем нужные статусы и потом получаем их продукты
Anonymous
Мне без связи нужно, чтоб через запрос
Ivan
а чем связь то не устраивает?
Павел
Через запрос я же написал джойн делаешь и все
Anonymous
Вот так например я выбираю id продуктов с их крайними датами статусов ProductsHistory::find()->select('product_id,max([[status_date]]) AS max_date')->groupBy('product_id');
Anonymous
Но так я получаю все крайние статусы, а не только определённые
Borys
У меня так. Связь: public function getType0() { return $this->hasOne(Type::class, ['id' => 'type']); } И запрос: Ngpv::find()->joinWith('type0')->where(['type.slug' => $slug]);
Ivan
по моему через связь само то
Павел
Да по большому счету без разницы. Но удобнее, согласен
Павел
Вернёт сразу нужный объект модели
Anonymous
Через связь я могу получить все продукты, имеющие определенный статус, но мне нужно, чтобы выбрались только те, у кого определенный статус самый крайний по дате
Borys
самый крайний?
Borys
Borys
Псевдокодом опиши что нужно, уверен так будет понятнее)
Borys
И парни быстрее подскажут
Anonymous
по дате, да, условно у каждого продукта может быть много статусов 'inwork' и 'complete' в любом порядке, и мне нужны те продукты, у которых 'inwork' самый последний по дате
Павел
Выбирай дистинктом, where по inwork order по дате DESC
Павел
Так выберешь все статусы нужные. По связи получишь их продукты