Артём
там просто ничего такого сверхъестественного, обычные запросы, обычные операции а yii2 не знаю и есть шанс изучить
Dmitry
Артём
а там можно кусками брать по типу роутер со всеми путями, работа с бд и т.д?
Dmitry
Артём
и прям по отдельности загружать можно
Dmitry
Артём
ну блин, это велосипед на компонентах другого фрейморка, а я как раз хотел с него слезть)
Dmitry
т.е. ты думаешь что использовать фуллстек фреймворк это лучше чем специализированный?
(;¬_¬)
Dmitry
знаешь за что yii ругают?
Артём
со своего на фрм
(;¬_¬)
Dmitry
именно
Артём
я вообще на нем странички пару раз делал с формой и все)
Артём
(;¬_¬)
Артём
6 статей, шестая - https://habrahabr.ru/post/138893/
Артём
ага, спасибо, почитаем
(;¬_¬)
Good
http://bash.im/quote/446850
Цитата #446850
Good
Чето ржу
Сергей
Ахах
Сергей
Баш жив))
Сергей
https://github.com/creocoder/yii2-nested-sets
Подскажите, а как выбрать все объекты, которые НЕ являются детьми текущего?
Артём
найти все котороые относится и их удалить, а оставшиеся использовать
Сергей
да, первый вариант, пришедший в голову)
Niko
@predvoditelev WHERE NOT BETWEEN не подходит?
Сергей
@predvoditelev WHERE NOT BETWEEN не подходит?
Да. так было бы красивее. Сделал немного по другому:
public function possibleParentCategories(): TreeActiveQuery
{
return $this->find()
->andWhere([
'or',
['<', $this->leftAttribute, $this->getAttribute($this->leftAttribute)],
['>', $this->leftAttribute, $this->getAttribute($this->rightAttribute)],
])
->andWhere(['!=', $this->leftAttribute, '1']);
}
Anonymous
Всем привет, ребят кто может помочь с сопоставлением запроса?
Сергей
Привет! Напиши вопрос, может и помогут.
Anonymous
есть метод (переписываю с yii1 под yii2)
Anonymous
public function actionMntr(){
$this->render('mntr');
}
Anonymous
вюха https://pastebin.com/F8PF4YD2
модель https://pastebin.com/GRWkxj3U
Anonymous
там какой то умник запихнул все запросы в цикл, и для каждой записи запросы повторяются
Anonymous
база в пару лямов записей
Anonymous
думаю вы сами понимаете что в итоге)
Anonymous
там в моделе есть 2 метода с запросами getMonitor и getVer
Anonymous
вот надо как то их обьеденить и вытащить информацию всю одним запросом и потом перебирать
Anonymous
не могу ни как придумать как это сделать
Dmitriy
Нууу, как вариант связи прописать в моделях (методы hasOne hasMany) составить запрос используя with и joinWith
Dmitriy
Для связи моделей
Dmitriy
Структуру таблиц, моделей в студию, так проще ответить конкретно
Anonymous
таблица base https://pastebin.com/K2jjJ1ag
Anonymous
таблица devices https://pastebin.com/E17vVigH
Dmitriy
Хмм... А связь через какое поле?
Anonymous
там во вюхе 2 цикла первый использует в моделе 2 запроса по методам getMonitor и getVer и в нутри ещё один цикл который использует getEdate и getTypes
Dmitriy
Я про таблицы, как они связаны?
Anonymous
они используют несколько полей
Dmitriy
Окей.... в студию методы эти методы
Dmitriy
*эти методы
Dmitriy
Сложна..... 1. Надо понять что тут вообще происходит
(Запрос по критериям)
2. По каким полям связаны таблицы(?)
3. Обозначить связь в модели(
Что то типо
Public function getCriteria(){
Return hasOne(имя класса,[столбец критерия => столбец текущей мрдели]);
}
)
Dmitriy
В зависимости от типа 1:1 или 1:m
Dmitriy
И теперь сам запрос
Anonymous
как пример такая логика, скрипт должен брать с таблицы devices imei устройства и по этому imei искать в таблице base информацию об устройстве
Anonymous
ну это на сколько я понимаю
Anonymous
проблема в том что все запросы лежат в цикле и скрипт до ужаса долго грузит информацию
Dmitriy
Ооо есть контакт, в том методе imei=>зависимая таблица
Dmitriy
Да понял я, прост из далека начал объяснять
Dmitriy
*зависимый столбец
Dmitriy
Теперь сам запрос:
Find()->with(имя метода связи без get )->sort(ну тут понятно)->limit(количество записей)->all();
Dmitriy
С тлф трудно писать...
Dmitriy
Во вьюху это передаем
Dmitriy
Обращаемся так, если нужно обратиться к зависимой просто обращаемся через ->
Dmitriy
$model->criteria->id; например
Dmitriy
Что произошло: В том запросе получили большую сводную таблицу по imei запихали это все в объекты, пользуемся
Dmitriy
Если надо массив, то isArray метод
Dmitriy
Тфу... asArray
Anonymous
а вы за пк скоро будете?
Dmitriy
Через неделю
Dmitriy
Отдызаю
Dmitriy
Отдыхаю
Павел
В чем суть ?
Павел
Я не пойму проблему
Dmitriy
Доку пересказал по своему😊
Павел
Ну связь one-to-one и грузится сразу. Без ленивой подгрузки. Имхо не надо даже with
В'ячеслав
Всех приветствую.
Хочу начать изучить Yii2, что порекоммендуете?
Dmitry