
Эд
26.01.2018
08:52:42
Что за гребанный п**ец с этим 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.
Что за????

Ad.x ??
26.01.2018
08:53:36
загугли ошибку
чо как дите

Alexey
26.01.2018
08:54:41

Google

Alexey
26.01.2018
08:54:58
А тот что упоминается в ошибке

Эд
26.01.2018
08:55:28

Al
26.01.2018
09:05:29
Вопрос дня activeRecord с релейшенами, у которого свои тоже есть. Ищу всех через find()->all() , пробегаюсь по ним через foreach, внутри цикла еще цикл по связям и тд и что-то меняю в них. При большом списке дико тормозит это дело, поэтому решил передавать по ссылке в цикл foreach($parents as &$child), чтоб не копировать объекты... Получаю ошибку Indirect modification of overloaded property.
это надо само ядро править чтобы по ссылке отдавало ->all() ?

Ad.x ??
26.01.2018
09:06:55
запрос в студию

Al
26.01.2018
09:07:17
запрос чего?

Ad.x ??
26.01.2018
09:07:21
объекты и так по ссылке передаются
ну того что ты написал. давай код. хули мы гадать будем то?

Al
26.01.2018
09:08:26
его над упрощать дохрена для примера, думал так понятно будет, оформлю тогда покажу

Ad.x ??
26.01.2018
09:08:42
давай как есть
все свои ))

Serik
26.01.2018
09:09:04
лучше перейти на plain запрос

Google

Serik
26.01.2018
09:09:20
без AR

Ad.x ??
26.01.2018
09:09:26
не лучше

Serik
26.01.2018
09:10:13
ok

Ad.x ??
26.01.2018
09:10:41
мы еще не видели что там наделано, а ты уже советуешь. как-то это неправильно )

Serik
26.01.2018
09:11:06
так он покажет?

Ad.x ??
26.01.2018
09:11:21
ну не покажет значит ему не нада
пусть правит ядро фрейма )))

Al
26.01.2018
09:24:42
$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']);
}

Ad.x ??
26.01.2018
09:26:16
во 2. скоко там клиентов? чтобы find()->all() делать?

Al
26.01.2018
09:27:38
ссылку я спец добавляю, где это видно что по ссылке и так? клиентов и объектов в них дофига. Это консольная обработка

Сергей
26.01.2018
09:28:13
Может тут стоит через кверибилдер тогда сделать? А не тянуть весь AR?

Ad.x ??
26.01.2018
09:28:17
в третьих.
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#lazy-eager-loading
на общее время не повлияет, но здорово разгрузит бд

Al
26.01.2018
09:30:25
не в бд проблема, проблема в копировании объектов циклом
я не вижу нигде что по ссылке фрейм передает

Serik
26.01.2018
09:30:47

Ad.x ??
26.01.2018
09:30:50
в бд в том числе. ты на каждый объект делаешь запрос отдельный

Сергей
26.01.2018
09:31:15

Google

Павел
26.01.2018
09:31:16

Al
26.01.2018
09:31:59

Serik
26.01.2018
09:32:18

Al
26.01.2018
09:32:54
всё же хотелось бы видеть строку где фрейм отдает ссылку
или это предположение?
+
плейн запрос лишает всего что должна модель делать

Ad.x ??
26.01.2018
09:34:56

Serik
26.01.2018
09:35:21

Al
26.01.2018
09:35:26
да ничего не меняется)

Serik
26.01.2018
09:35:39
чую, там EAV

Ad.x ??
26.01.2018
09:36:25

Сергей
26.01.2018
09:36:33
http://joxi.ru/Y82QBEH1ojJBAd

Al
26.01.2018
09:36:43

Ad.x ??
26.01.2018
09:36:55
охуеть )
ну ок

Сергей
26.01.2018
09:37:02
=))

Al
26.01.2018
09:37:42
я с этими ссылками собаку съел
форич в пхп копирует

Ad.x ??
26.01.2018
09:37:58
массив копирует
стейт объекта в фориче поменяется

Google

Ad.x ??
26.01.2018
09:38:37
угадай почему

Al
26.01.2018
09:39:18
что?

Сергей
26.01.2018
09:39:19
AR очень прожорливый и юзать его на большом количестве записей - очень плохая затея
По-моему даже в доках yii2 про это написано

Ad.x ??
26.01.2018
09:40:00
что?
забей. ты уже съел собаку

Al
26.01.2018
09:40:59
мне нужен AR, там правил дофига и событий всяких
А релейшены по хорошему надо бы возвращать ссылкой

Сергей
26.01.2018
09:41:21
И не обрабатывай всё одним разом

Al
26.01.2018
09:42:08
не в базе затык, затык в копировании, еще раз говорю)

Admin
ERROR: S client not available

Ad.x ??
26.01.2018
09:42:31
ты дурак?

Сергей
26.01.2018
09:42:36
Затык в огромное куче AR-объектов, которые память жрут как не в себя.

Ad.x ??
26.01.2018
09:42:42
объекты в фориче не копируются а передаются по ссылке

Сергей
26.01.2018
09:42:45
Копирование тут не при чём

Al
26.01.2018
09:42:52

Ad.x ??
26.01.2018
09:42:58
проверь рукам дурашка

Al
26.01.2018
09:43:03
я то проверял

Сергей
26.01.2018
09:43:03
http://php.net/manual/ru/language.oop5.references.php

Ad.x ??
26.01.2018
09:43:24
остояние объекта до форича. в фориче его измени и состояние объекта после

Google

Сергей
26.01.2018
09:43:28

Ad.x ??
26.01.2018
09:43:35
если изменилось, значит сам объект передавался по ссылке

Сергей
26.01.2018
09:43:41
Это к гомеопатам

Ad.x ??
26.01.2018
09:45:04
пошел хавать вторую собаку ))

Alexandr
26.01.2018
09:46:10
я то проверял
http://sandbox.onlinephpfunctions.com/code/90fa7db9ab07eb5e7b4ef82e03185852e7ac31d4
приятного аппетита

Kirill
26.01.2018
09:46:39

Сергей
26.01.2018
09:48:20

Kirill
26.01.2018
09:49:42
ну к документации есть комментарии. они интересные

Сергей
26.01.2018
09:50:27

Kirill
26.01.2018
09:50:58
Про различие pointer / reference

Ad.x ??
26.01.2018
10:00:24
http://layer.layui.com/ китайчеги жгут однако )

Stas
26.01.2018
10:02:08
в чем прикол?

Ad.x ??
26.01.2018
10:02:45
в количестве звезд. и весьма неплохой алерт
куча функций, совместим с ие6 :D
кто еще может похвастать?

Adil
26.01.2018
10:04:46
если воспользоваться chrome page translator и перевести на английский, то внешний вид оставляет желать лучшего
и я думаю уже стоит забить на динозавров, сидящих с ие6
а еще использование png спрайтов немного устарело
команда бутстрапа в этом плане прогрессивней и плевать что он уже всем приелся

Ad.x ??
26.01.2018
10:11:23

Al
26.01.2018
11:10:27
говно этот php какое-то короче