@laravel_pro

Страница 1996 из 2014
Сергей
24.10.2018
07:14:45
Илья
24.10.2018
07:15:00
понял
но это так, пальцем в небо

Сергей
24.10.2018
07:15:13
но это так, пальцем в небо
ну понятно в целом куда хоть смотреть

Google
Сергей
24.10.2018
07:15:29
профилирование
не совсем понял?

Илья
24.10.2018
07:16:02
не совсем понял?
погугли "профилирование php"

Сергей
24.10.2018
07:16:07
ок

погугли "профилирование php"
ага xDebug, который я так и не смог связать в шторме с контейнером докера(

Egin
24.10.2018
07:17:59
ага xDebug, который я так и не смог связать в шторме с контейнером докера(
Где-то на хабре статья была по докеру, шторму и xdebug

Egin
24.10.2018
07:19:04
https://habr.com/post/423337/

Илья
24.10.2018
07:22:49
ага xDebug, который я так и не смог связать в шторме с контейнером докера(
ну как запасной вариант, если нет времени разбираться с профилированием - dump(now()) в разных местах кода и выявление участков, выполнение которых занимает много времени)

Aleks
24.10.2018
07:28:46
есть какие нить методы отслеживания где именно код этот смотреть?
https://github.com/barryvdh/laravel-debugbar через дебаг бар можно отследить медленный код

Aleks
24.10.2018
07:29:06
стоит он
Debugbar::startMeasure('render','Time for rendering'); Debugbar::stopMeasure('render'); Debugbar::addMeasure('now', LARAVEL_START, microtime(true)); Debugbar::measure('My long operation', function() { // Do something… });

Google
Aleks
24.10.2018
07:29:31


Евгений
24.10.2018
07:30:19
Ребят, помогите придумать как сделать перенос базы. Есть старая база на опенкарте. Там категории, у категорий есть parent_id и sort_order. В новой базе категории будут nested set (parent_id, _lft, _rgt). При переносе категорий у них будут разные айдишники (у старой базы будут отличаться от новой базы). Соответственно и parent_id надо менять. Как это можно сделать без сложных циклов, потому что категорий много

ExPandable
24.10.2018
07:31:09
ну форичем тупо перебери записи)

Евгений
24.10.2018
07:31:48
https://habr.com/post/279233/
мне не дерево надо, а понять как соотнести новые айдишники в новой базе с parent_id

чтобы не проходить все категории по базе и перезаписывать

как бы пройтись и перезаписать легко можно, но запросов чот много

Aleks
24.10.2018
07:32:30
там пакет упоминается kalnoy/nestedset у него есть статичный метод Category::fixTree(); на базе parent_id сам пропишет lft rgt

Евгений
24.10.2018
07:32:41
просто там не только категории переносятся, и будет скрипт который много всего будет переносить

но вопрос то не в этом

в старой базе есть категория у которой id = 500, когда мы копируем её к себе в базу то у нас в базе может быть другой айдишник (например 250). А все категории у которых parent_id = 500 надо переписать на parent_id = 250

то есть вопрос в актуализации parent_id под айдишники в новой базе, без обхода циклом всей базы

Aleks
24.10.2018
07:35:09
Я в таких случаях в новой базе делал поле old_id и от него уже потом обновлял остальные записи

Евгений
24.10.2018
07:35:12
я хотел одним insert-ом все записи вставить, но parent_id после инсерта придётся перезаписывать с новыми айдишниками. Мы новые айдишники не знаем до того как скопируем категорию в базу

old_id есть

но чтобы обновить данные всё равно придётся проходить по базе снова

Евгений
24.10.2018
07:35:54
baum не поддержкивается давно уже

ExPandable
24.10.2018
07:36:06
но он тем не менее рабочий

Google
Евгений
24.10.2018
07:36:50
шыыгуы 115б чот не хочется, kalnoy уже юзал много так что тут не стоит вопрос выбора

Aleks
24.10.2018
07:36:53
а нельзя в новую базу перенести со старыми id? если новая база пустая, то вроде ничего не должно помешать

Евгений
24.10.2018
07:38:00
в старой базе есть удалённые категории, то есть например 1,3,5,7. При переносе они запишутся как 1,2,3,4

ну это если просто insert-ом делать, можно конечно наверно извратиться как то чтоб автоинкремент отключить... да ну нафиг

Anton
24.10.2018
07:55:39
А почему ты со старыми айдишниками перенести не хочешь?

Ну или как вариант переносишь с двумя доп колонками - old_id, old_parent_id

Евгений
24.10.2018
07:57:28
А почему ты со старыми айдишниками перенести не хочешь?
а как одним инсертом перенести с сохранением айдишников, если в старой базе есть удалённые?

Anton
24.10.2018
07:58:01
Удаленные == дырки в ид?

Евгений
24.10.2018
07:58:04
Ну или как вариант переносишь с двумя доп колонками - old_id, old_parent_id
хотел так, но kalnoy nested set умеет в parent_id который смотрит именно в id а не в old_id, по крайней мере не нашел как перенастроить его

Anton
24.10.2018
07:58:35
В смысле парент_ид

А одним запросом с ид, прям с автоинкрементными

Их можно вставлять.

Евгений
24.10.2018
08:00:04
ну то есть сначала инсертнуть все категории. Потом пройтись и перезаписать все parent_id на новые айдишники? Это сколько запросов еще потребуется? Или это можно несложно апдейтнуть?

категорий пусть например 1млн

Anton
24.10.2018
08:03:04
Почему есть какой то затык с кол-вом запросов?

Это постоянная операция?

Или разовый импорт?

Google
Anton
24.10.2018
08:03:33
Почему нельзя со старыми ид импортировать?

Евгений
24.10.2018
08:04:16
это не постоянная операция, но и не разовая. Иногда придётся запускать

Почему нельзя со старыми ид импортировать?
подскажи как инсертнуть сохранив айдишники. Я просто не в курсе наверно, если есть дырки

Anton
24.10.2018
08:06:48
подскажи как инсертнуть сохранив айдишники. Я просто не в курсе наверно, если есть дырки
Не понимаю вопроса... Допустим у тебя одинаковые таблицы. Допустим это id, parent_id, title. Тогда ты просто пишешь insert into table2 (id, parent_id, title) select id, parent_id, title from table1

В чем проблема?

Или ты хотел убрать дырки?

Евгений
24.10.2018
08:09:40
когда я делаю Category::insert($array) то он заполняет айдишники автоинкрементно, 1,3,5,7 превращается в 1,2,3,4

Anton
24.10.2018
08:09:56
Зачем ты так делаешь?

Я же написал как внести

Евгений
24.10.2018
08:10:54
там таблицы разные. В старой таблице описания лежат в другой таблице и всё берется джоинами, а в новой в одну складируется. Попробую привести к такому виду

Anton
24.10.2018
08:11:23
Ты видел мой запрос?

Евгений
24.10.2018
08:11:32
Anton
24.10.2018
08:11:38
Вот в правой части где селект - ты можешь любой запрос писать.

Евгений
24.10.2018
08:11:48
я понял, говорю что щас порпобую

но там еще дело не только в parent_id, а в порядке категорий. В старой системе это sort_order а в новой надо переписать под _lft _rgt. То есть надо сначала order by sort_order наверно

Alex
24.10.2018
08:12:31
Ребят скажите пожалуйста wtf?



Даниил
24.10.2018
08:14:03
исключил второй элемент, что не так?

Alex
24.10.2018
08:14:30
исключил второй элемент, что не так?
так except по значению же должен, я по значению хотел удалить

Даниил
24.10.2018
08:14:32
ты ему передал ключ, он его выкинул, все как надо

Google
Даниил
24.10.2018
08:14:39
The except method returns all items in the collection except for those with the specified keys:

Евгений
24.10.2018
08:15:14
Anton
24.10.2018
08:15:50
У тебя другая база на этом же хосте или другом?

Евгений
24.10.2018
08:16:12
на тестовом на этом же. Потом убдет на другом

Anton
24.10.2018
08:16:36
Если на одном, то перед названием таблицы ты можешь поставить название бд.

Db1.table1

Если на разных - так не получится.

Евгений
24.10.2018
08:17:14
блэд

ок, спасибо, буду думать

Vladij
24.10.2018
08:33:27
Привет, вопрос, как мне обновить допустим 1000 записей в БД одновременно? Спасибо

Yaroslav
24.10.2018
08:35:50
UPDATE table SET title=123 WHERE id >= 1 AND id <= 1000

Vladij
24.10.2018
08:38:37
UPDATE table SET title=123 WHERE id >= 1 AND id <= 1000
а в ларавеле как сделать?

Митяй
24.10.2018
08:39:17
Model::where(условие)->update([field1 => 1, field2 => 2])

Yaroslav
24.10.2018
08:40:06
DB::table('table')->where('id', '>=', 1)->where('id', "<=", 1000) ->update(['title' => 123]);

Митяй
24.10.2018
08:40:18
https://laravel.com/docs/5.7/queries#updates

Vladij
24.10.2018
08:43:17
https://laravel.com/docs/5.7/queries#updates
видел, смотрел....чет не получается....в двух словах: $foo = массив с 1000 записями; я делаю так? Model::where('id_one', '=', $foo)->update('prop1' => $prop1, 'prop2' => $prop2.......);

Vladij
24.10.2018
08:46:51
whereIn()?
можно в двух словах? почему In

whereIn()?
типо где "в"?

Maxim
24.10.2018
08:48:04
можно в двух словах? почему In
ну ты написал что $foo массив, если я все верно понял

Страница 1996 из 2014