
Dave
30.09.2017
05:44:40
Вспоминаю детскую игру
сча вот еще кто то вечер ляпнет
и все
1 в 1

Google

Dmitriy
30.09.2017
05:45:51
южное утро

Artur
30.09.2017
05:46:28
обед

Artem
30.09.2017
06:32:14
[
0 => "item"
1 => "item 2"
2 => "item 2"
3 => "item 3, item 4"
]
[
0 => "item"
1 => "item 2"
2 => "item 3"
3 => "item 4"
]
Ребят, есть массив(выше), как мне из него оптимально получить второй? Т.е. нужно те что через запятую сделать как новые элементы массива и сделать что-то типа group by. Но нужно оптимально.
желательно laravel

Vadim
30.09.2017
06:36:47
array_unique(explode(', ', implode(', ', $a)))

da horsie
30.09.2017
06:37:24

Artur
30.09.2017
06:39:39
не красиво и не эффективно
причём нерасив сам факт хранения через запятые

da horsie
30.09.2017
06:40:45

Artur
30.09.2017
06:40:59
если это собеседование то красивое решение опасно
скажут не эффективно

da horsie
30.09.2017
06:41:07
и эффективно
O(N)

Google

da horsie
30.09.2017
06:41:14
все норм

Artur
30.09.2017
06:41:14
если это жизнь - надо решать на другом уровне скорее всего )
джойн долгий експлод долгий

Artem
30.09.2017
06:41:40
это не собеседование, так данные в бд хранятся

da horsie
30.09.2017
06:41:58
хотя да
не O(N)
ибо длина строк еще участвует

Artem
30.09.2017
06:44:27

Vadim
30.09.2017
06:45:13
По скорости не самое лучшее.

da horsie
30.09.2017
06:45:18
для примера выше оно просто отличное


Artem
30.09.2017
06:45:51
0 => "10tons Ltd"
1 => "11 bit studios"
2 => "1C Company"
3 => "1C Company, 1C-SoftClub"
4 => "1C Company, Playrix"
5 => "1C Company, Shaman Games Studio"
6 => "1C Online Games"
7 => "1C-777"
8 => "1C-SoftClub"
9 => "1С-Софтклаб"
10 => "2 Dawn Studios"
11 => "22cans Ltd."
12 => "24 Caret Games"
13 => "2K"
14 => "2K Games"
15 => "2K Games, Aspyr (Mac & Linux)"
16 => "2K Games, Aspyr (Mac and Linux)"
17 => "2K Games, Aspyr (Mac, Linux)"
18 => "2K Games, Aspyr (Mac)"
19 => "2K Games, Feral Interactive (Mac)"
20 => "2K Games, Feral Interactive (Mac), Feral Interactive (Linux)"
21 => "2K, Aspyr (Mac & Linux)"
22 => "2K, Aspyr (Mac and Linux)"
23 => "2K, Aspyr (Mac, Linux)"
24 => "2K, Aspyr (Mac,Linux)"
25 => "2K, Feral Interactive (Linux), Feral Interactive (Mac)"
26 => "2K, Feral Interactive (Mac and Linux)"
27 => "2K, Feral Interactive (Mac), Feral Interactive (Linux)"

da horsie
30.09.2017
06:46:14
23 => "2K, Aspyr (Mac, Linux)" тут сломается

Artem
30.09.2017
06:46:26
а ну да
и еще у меня 1213 строк

Vadim
30.09.2017
06:47:21
Про скобки в постановке не было.

Fayozjon [CybernatiC]
30.09.2017
06:47:28
Извращуга. Кто так хранит данные

Vadim
30.09.2017
06:47:37
1213 строк вообще ни о чем...

Artur
30.09.2017
06:48:27
оххх

Vadim
30.09.2017
06:48:46
Если бы лям был, то лучше, конечно было бы для группировки использовать ключи нового массива, делая пробежку по итемам+парсинг строк.

Google

Artur
30.09.2017
06:49:06
теги 21 века )

Vadim
30.09.2017
06:51:51
Если нельзя ломать, то втулите еще стр риплейс с пред заменой запятых на слэш 0,например,а потом с обратной после обработки

Artur
30.09.2017
06:52:31
изначальный подход аналогичный записи тэгов в бд через запятую с запятыми

da horsie
30.09.2017
06:53:10
наймите парней из Бангалора, они быстро сделают вручную

Artur
30.09.2017
06:53:11
такое себе O(N) :)

Vadim
30.09.2017
06:53:20
Слэш 0 в тексте?

Artur
30.09.2017
06:53:32
эээм

Vadim
30.09.2017
06:53:38
Я про символ с 0 кодом если чо

Artur
30.09.2017
06:53:52
окай

Artem
30.09.2017
06:55:03
короче ладно, я передумал реализовывать

da horsie
30.09.2017
06:55:48
замени все запятые, которые окружены скобками, на что-то
и потом обратно
"но нужно оптимально" :)

Vadim
30.09.2017
06:57:38
?

Artem
30.09.2017
06:58:52
но чтобы на скорость загрузки странцы не влияло

Artur
30.09.2017
06:59:27

Google

Artur
30.09.2017
07:00:01
но нуждно не для отдачи на сайт в реалтайме а чтобы базу нормализовать по-человечески
хотябы в PgSQL массивы
да хоть в json в бд если уж совсем не умеешь

da horsie
30.09.2017
07:00:47
sqlite тоже подойдет
для нее не нужно ничего

Artur
30.09.2017
07:02:36
потеряется связанность :)

Quiss
30.09.2017
07:02:54
От это редкость
Багарт и конь

Artur
30.09.2017
07:03:09
о_0

da horsie
30.09.2017
07:03:15
херасе
кто это тут

f4rt~
30.09.2017
07:05:06
женится не предлагал еще?

(;¬_¬)
30.09.2017
07:12:33

Quiss
30.09.2017
07:12:52

da horsie
30.09.2017
07:16:11
чат оккупирован гиксами )

f4rt~
30.09.2017
07:16:33
атеншн гикс десант

da horsie
30.09.2017
07:17:02
старыми гиксами, что характерно

Quiss
30.09.2017
07:27:46
Конь, а Конь

Google

Quiss
30.09.2017
07:28:07
@f3ath

da horsie
30.09.2017
07:28:19
палево

Sergey
30.09.2017
10:15:36
короч начину. Может тут кто юзает fractal? может-быть кому-нибудь приходилось думать на тему batch-подгрузки инклудов? ну мол вот есть у нас коллекция из 10-ти сущностей, и у каждой надо сходить во внешнюю API например по айдишке. И апишка эта позволяет вам достать по массиву айдишек данные и вы просто хотите что бы все волшебным образом склеилось
пока единственный быстрый вариант который я вижу - переписать фрактал, ибо он не позволяет нормально хэндлить инклуды что бы подобное было возможным.

Dmitry
30.09.2017
10:20:01
Я немножко не понял, а причём тут фрактал, если тебе надо записи получить ?
Вывод и получение записей должно быть не одним и темже.

Sergey
30.09.2017
10:24:25
что сильно снижает их ценность

Dmitry
30.09.2017
10:25:05
Т.е. ты хочешь lazy load, заместо eager load ?
lazy load - это когда резловится непосредственно во время обращения
eager load - это когда сразу всё

Sergey
30.09.2017
10:30:11
нет, lazy load у меня и так есть, мне надо ресолвить ПОСЛЕ выполнения)
ну то есть когда фрактал дойдет до конца коллекции и соберет все что надо заресолвить - пуф и все появляется
p.s. фрактал в нутри такой отстой

Dmitry
30.09.2017
10:33:37
Понял тебя ) Смотри - https://github.com/thephpleague/fractal/blob/master/src/Serializer/SerializerAbstract.php#L106
Тебе это не подходит ?
Или injectData как раз ДО, а не после ?

Sergey
30.09.2017
10:38:04
хм... не уверен пока...
я с side load не игрался

Dmitry
30.09.2017
10:39:07
https://github.com/thephpleague/fractal/blob/master/src/Scope.php#L233
Вот еще интересная вещь.

Sergey
30.09.2017
10:39:30
просто есть подозрение что скоуп создается на элемент коллекции
что в целом логично

Dmitry
30.09.2017
10:39:48
Отладчик есть? Попробуй чекнуть, поставь брейкпоинт.