Артем
я писал либу, блин откуда ты это слово взял)) короче либу для вк ну час потратил. и все работает уже год наверно
Артем
а либу готовую я бы искал день
Al
а потом школоло захочет всех потролить и обновит либу с рассылкой слова "жопа" всем пользователям:)
Артем
ага или это всё происки ФБР читают через эту либу наши переписки и залазять в недра наших компов
Артем
собирают компроматы
Alexander
The Ant
Эд
Что за гребанный п**ец с этим yii2 rest происходит?
Шлю PATCH запрос, изначально идет как OPTIONS, запрашивает метод PATCH, браузер получает ответ:
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
А в консоле браузера сорян братишка ошибка:
Method PATCH is not allowed by Access-Control-Allow-Methods in preflight response.
Что за????
The Ant
загугли ошибку
The Ant
чо как дите
Alexey
Alexey
А тот что упоминается в ошибке
Эд
Al
Вопрос дня activeRecord с релейшенами, у которого свои тоже есть. Ищу всех через find()->all() , пробегаюсь по ним через foreach, внутри цикла еще цикл по связям и тд и что-то меняю в них. При большом списке дико тормозит это дело, поэтому решил передавать по ссылке в цикл foreach($parents as &$child), чтоб не копировать объекты... Получаю ошибку Indirect modification of overloaded property.
Al
это надо само ядро править чтобы по ссылке отдавало ->all() ?
The Ant
запрос в студию
Al
запрос чего?
The Ant
объекты и так по ссылке передаются
The Ant
ну того что ты написал. давай код. хули мы гадать будем то?
Al
его над упрощать дохрена для примера, думал так понятно будет, оформлю тогда покажу
The Ant
давай как есть
The Ant
все свои ))
Serik
лучше перейти на plain запрос
Serik
без AR
The Ant
не лучше
Serik
ok
The Ant
мы еще не видели что там наделано, а ты уже советуешь. как-то это неправильно )
Serik
так он покажет?
The Ant
ну не покажет значит ему не нада
The Ant
пусть правит ядро фрейма )))
Al
$clients = Client::find()->all();
foreach($clients as &$client){
//Error: Indirect modification of overloaded property app\models\Client::$objects has no effect
foreach($client->objects as &$clientObject){
echo $clientObject->name;
}
}
---
objects - обычный hasMany
public function getObjects(){
return $this->hasMany(ClientObject::className(),['client_id'=>'id']);
}
The Ant
The Ant
во 2. скоко там клиентов? чтобы find()->all() делать?
Al
ссылку я спец добавляю, где это видно что по ссылке и так? клиентов и объектов в них дофига. Это консольная обработка
Сергей
Может тут стоит через кверибилдер тогда сделать? А не тянуть весь AR?
The Ant
в третьих.
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#lazy-eager-loading
The Ant
The Ant
на общее время не повлияет, но здорово разгрузит бд
Al
не в бд проблема, проблема в копировании объектов циклом
Al
я не вижу нигде что по ссылке фрейм передает
Serik
The Ant
в бд в том числе. ты на каждый объект делаешь запрос отдельный
Сергей
Павел
Serik
Al
всё же хотелось бы видеть строку где фрейм отдает ссылку
Al
или это предположение?
Al
+
плейн запрос лишает всего что должна модель делать
The Ant
Serik
Al
да ничего не меняется)
Serik
чую, там EAV
The Ant
Сергей
http://joxi.ru/Y82QBEH1ojJBAd
Al
The Ant
охуеть )
The Ant
ну ок
Сергей
=))
Al
я с этими ссылками собаку съел
Al
форич в пхп копирует
The Ant
массив копирует
The Ant
стейт объекта в фориче поменяется
The Ant
угадай почему
Al
что?
Сергей
AR очень прожорливый и юзать его на большом количестве записей - очень плохая затея
Сергей
По-моему даже в доках yii2 про это написано
The Ant
что?
забей. ты уже съел собаку
Al
мне нужен AR, там правил дофига и событий всяких
Al
А релейшены по хорошему надо бы возвращать ссылкой
Сергей
Сергей
И не обрабатывай всё одним разом
Al
не в базе затык, затык в копировании, еще раз говорю)
The Ant
ты дурак?
Сергей
Затык в огромное куче AR-объектов, которые память жрут как не в себя.
The Ant
объекты в фориче не копируются а передаются по ссылке
Сергей
Копирование тут не при чём