Для этого решил юзать ReactPHP, если кто работал, подскажите, как можно соединить его с ларавель?

|
Oneshkip 2022-06-26 09:57:34
а товаров может быть несколько
Velman_04 2022-06-26 12:16:53
всем привет.

У меня есть список тем у темы есть количество просмотров которые берутся по связи из другой таблицы, так же темы привязаны к книгам.

Задача следующая:

1. Сортировать темы по популярности — это я сделал: withCount(‘views’)->orderBy(‘views_count’)
2. Сортировка должна идти в разрез книг… т.е

список тем:
-книга 1
— тема 1
— тема 2
— книга 2
— тема 3
— тема 2
— тема 1

вот как реализовать следующее?

нужно группировать темы по книге и уже в этой группе сортировать по количеству просмотров. Как это реализовать в коде?

Ibragim_09_1986 2022-06-26 12:32:41
Velman_04 2022-06-26 12:16:53
всем привет.

У меня есть список тем у темы есть количество просмотров которые берутся по связи из другой таблицы, так же темы привязаны к книгам.

Задача следующая:

1. Сортировать темы по популярности — это я сделал: withCount(‘views’)->orderBy(‘views_count’)
2. Сортировка должна идти в разрез книг… т.е

список тем:
-книга 1
— тема 1
— тема 2
— книга 2
— тема 3
— тема 2
— тема 1

вот как реализовать следующее?

нужно группировать темы по книге и уже в этой группе сортировать по количеству просмотров. Как это реализовать в коде?

Вытащить книги с жадный загрузкой привязанный темами не подойдёт?

Velman_04 2022-06-26 12:33:33
Ibragim_09_1986 2022-06-26 12:32:41
Вытащить книги с жадный загрузкой привязанный темами не подойдёт?

всё было бы хорошо, если было так просто)))

мне нужно из тем это всё получать

BookTopic::withCount(‘views’)->orderBy(‘views_count’)…

когда пытаюсь сгруппировать по iD книги groupBy(‘book_id’) получаю ошибку — https://prnt.sc/U6KOMbea6M_R

ScreenshotLightshot
Captured with Lightshot
Velman_04 2022-06-26 12:34:28
такой способ решения ошибки не помогает — https://laracasts.com/discuss/channels/guides/turn-off-only-full-group-by-for-just-one-query-guide
Ibragim_09_1986 2022-06-26 12:37:41
Velman_04 2022-06-26 12:33:33
всё было бы хорошо, если было так просто)))

мне нужно из тем это всё получать

BookTopic::withCount(‘views’)->orderBy(‘views_count’)…

когда пытаюсь сгруппировать по iD книги groupBy(‘book_id’) получаю ошибку — https://prnt.sc/U6KOMbea6M_R

Т.е. открываем тему, а там получаем список книг и под каждую книгу привязанные на них темы?

Velman_04 2022-06-26 12:41:51
Ibragim_09_1986 2022-06-26 12:37:41
Т.е. открываем тему, а там получаем список книг и под каждую книгу привязанные на них темы?

нет, есть список тем, он их нужно сортировать так:

тема 1 (10 просмотров) — книга 1
тема 2 (7 просмотров) — книга 1
тема 3 (3 просмотров) — книга 1
тема 4 (1 просмотров) — книга 1
тема 1 (11 просмотров) — книга 2
тема 2 (9 просмотров) — книга 2
тема 3 (4 просмотров) — книга 2
тема 1 (54 просмотров) — книга 3
тема 2 (3 просмотров) — книга 3
тема 3 (1 просмотров) — книга 3
тема 4 (0 просмотров) — книга 3

Velman_04 2022-06-26 12:52:43
Velman_04 2022-06-26 12:16:53
всем привет.

У меня есть список тем у темы есть количество просмотров которые берутся по связи из другой таблицы, так же темы привязаны к книгам.

Задача следующая:

1. Сортировать темы по популярности — это я сделал: withCount(‘views’)->orderBy(‘views_count’)
2. Сортировка должна идти в разрез книг… т.е

список тем:
-книга 1
— тема 1
— тема 2
— книга 2
— тема 3
— тема 2
— тема 1

вот как реализовать следующее?

нужно группировать темы по книге и уже в этой группе сортировать по количеству просмотров. Как это реализовать в коде?

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

..withCount(‘views’)->orderBy(‘book_id’)->orderBy(‘views_count’)…

maryrabinovich 2022-06-26 16:10:22
andylab 2022-06-26 01:52:44
Нашел вариант)

$pivot = $cart
->products()
->where(«product_id», $product->id)
->first()->pivot;

$pivot->increment(«count»);

Можно ещё проще — надо создать модель для работы спецом с таблицей связи. И у неё будет поле обычное для того, что так приходится доставать ногой через ухо.

Ibragim_09_1986 2022-06-26 16:33:45
Velman_04 2022-06-26 12:41:51
нет, есть список тем, он их нужно сортировать так:

тема 1 (10 просмотров) — книга 1
тема 2 (7 просмотров) — книга 1
тема 3 (3 просмотров) — книга 1
тема 4 (1 просмотров) — книга 1
тема 1 (11 просмотров) — книга 2
тема 2 (9 просмотров) — книга 2
тема 3 (4 просмотров) — книга 2
тема 1 (54 просмотров) — книга 3
тема 2 (3 просмотров) — книга 3
тема 3 (1 просмотров) — книга 3
тема 4 (0 просмотров) — книга 3

Вот, то же самое я и предлагал в начале ищешь книги (с жадный загрузкой связей по темам) сортируешь их так же выводишь их связанные темы

Ibragim_09_1986 2022-06-26 16:34:51
Можно по другому, через join
morfin60 2022-06-26 16:55:41
Гребаные боты лайки ставят
cannabioid1337 2022-06-26 18:43:06
Друзья,
Мне нужно создать лайв сервер, в котором каждые 30 секунд создаётся игра, и обрабатываются действия, отсылая ивенты через broadcast.

Для этого решил юзать ReactPHP, если кто работал, подскажите, как можно соединить его с ларавель?

NikoVonLas 2022-06-26 19:37:29
Нафига реакт? Есть же интеграция со свулом.
NikoVonLas 2022-06-26 19:37:50
Через laravel octane
NikoVonLas 2022-06-26 19:38:24
Ну а вообще тики по 30 секунд и шедуллер потянет спокойно.
DispooL 2022-06-26 20:09:31
Как вы смотрите на идею «мультипоточного» парсинга в php с использованием раббита? Насколько это адекватно(недавно пришла идея, интересно ваше мнение)
Sergey Shitikov 2022-06-26 20:10:24
DispooL 2022-06-26 20:09:31
Как вы смотрите на идею «мультипоточного» парсинга в php с использованием раббита? Насколько это адекватно(недавно пришла идея, интересно ваше мнение)

так это не мультипоточность. и что парсить?

DispooL 2022-06-26 20:10:52
Sergey Shitikov 2022-06-26 20:10:24
так это не мультипоточность. и что парсить?

Да просто распараллелить по массиву ссылок

Sergey Shitikov 2022-06-26 20:12:07
ну да для этого очереди и нужны) пилишь большой кусок вычислений на много маленьких и обрабатываешь воркерами)
Sergey Shitikov 2022-06-26 20:12:44
только Раббит там не обязателен, Редис тоже прекрасно справляется из коробки
DispooL 2022-06-26 20:17:14
Sergey Shitikov 2022-06-26 20:12:07
ну да для этого очереди и нужны) пилишь большой кусок вычислений на много маленьких и обрабатываешь воркерами)

Это да, просто никогда для парсинга его не юзал, думал так себе идея, попробую

iFortunes 2022-06-26 21:18:30
cannabioid1337 2022-06-26 18:43:06
Друзья,
Мне нужно создать лайв сервер, в котором каждые 30 секунд создаётся игра, и обрабатываются действия, отсылая ивенты через broadcast.

Для этого решил юзать ReactPHP, если кто работал, подскажите, как можно соединить его с ларавель?

Что значит соединить его с ларой? Установил реакт и юзай.

oligarhe 2022-06-26 22:48:00
Подскажите пожалуйста, как в миграции указать первичный ключ??

$table->text(«num»);

И указать bigint (Postgres)?

don_daniyar 2022-06-26 22:48:56
oligarhe 2022-06-26 22:48:00
Подскажите пожалуйста, как в миграции указать первичный ключ??

$table->text(«num»);

И указать bigint (Postgres)?

$table->bigIncrements(‘id’);

oligarhe 2022-06-26 22:49:53
don_daniyar 2022-06-26 22:48:56
$table->bigIncrements(‘id’);

сейчас попробую

togyzquma 2022-06-26 22:51:00
DispooL 2022-06-26 20:09:31
Как вы смотрите на идею «мультипоточного» парсинга в php с использованием раббита? Насколько это адекватно(недавно пришла идея, интересно ваше мнение)

Глянь в сторону laravel horizon сразу

oligarhe 2022-06-26 22:56:12
don_daniyar 2022-06-26 22:48:56
$table->bigIncrements(‘id’);

laravel_pro-577346.jpg
получил это:

sdrddn 2022-06-26 22:57:52
don_daniyar 2022-06-26 22:48:56
$table->bigIncrements(‘id’);

А просто $table->id() не аналог $table->bigIncrements(‘id’) ?

don_daniyar 2022-06-26 22:58:36
sdrddn 2022-06-26 22:57:52
А просто $table->id() не аналог $table->bigIncrements(‘id’) ?

Аналог, просто человек конкретно про bigint спросил

sdrddn 2022-06-26 22:59:15
oligarhe 2022-06-26 22:56:12
получил это:

А что не так?

oligarhe 2022-06-26 22:59:32
sdrddn 2022-06-26 22:59:15
А что не так?

bigserial — это и есть bigint?

sdrddn 2022-06-26 23:02:14
oligarhe 2022-06-26 22:59:32
bigserial — это и есть bigint?

Ааа, нет

sdrddn 2022-06-26 23:02:32
https://postgrespro.ru/docs/postgresql/9.6/datatype-numeric
sdrddn 2022-06-26 23:03:55
oligarhe 2022-06-26 22:59:32
bigserial — это и есть bigint?

Хотя, вроде разница между ними только в том, что bigserial — с автоувеличением

oligarhe 2022-06-26 23:04:08
sdrddn 2022-06-26 23:03:55
Хотя, вроде разница между ними только в том, что bigserial — с автоувеличением

подходит

gart_service 2022-06-27 04:19:53
Добрый день всем!
У меня возникает ошибка в Laravel 9
Solutions cannot be run from your current IP address.

Данная ошибка возникает потому что я веду разработку не в локальной среде. Наша компания использует DEV ops Azure. Весь код выгружается туда. И понятное дело я захожу на сайт на с локального IP.

В Vendor нашел файл который вызавает данную ошибку
Вопрос может показатся тупым но все же. Как мне правильно перезаписать логику работы данного файла.

vendor/spatie/laravel-ignition/src/Http/Controllers/ExecuteSolutionController.php

Понятное дело что нельзя менять этот файл напрямую.
Нужно изменить лишь эту функцию.

public function ensureLocalRequest(): self
{
$ipIsPublic = filter_var(
request()->ip(),
FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
);
if ($ipIsPublic) {
throw CannotExecuteSolutionForNonLocalIp::make();
}
return $this;
}

Пробовал гуглить, но не нашел толковой информации как переписать логику только одного файла пакета, при этом чтобы не трогать логику всего пакета.

Вопрос как это сделать максимально правильно чтобы при обновлении пакетов не потерять внесенные изменения.

Также возможно кто-то сталкивался с подобной проблемой и есть готовое решение.

msvks 2022-06-27 06:31:49
gart_service 2022-06-27 04:19:53
Добрый день всем!
У меня возникает ошибка в Laravel 9
Solutions cannot be run from your current IP address.

Данная ошибка возникает потому что я веду разработку не в локальной среде. Наша компания использует DEV ops Azure. Весь код выгружается туда. И понятное дело я захожу на сайт на с локального IP.

В Vendor нашел файл который вызавает данную ошибку
Вопрос может показатся тупым но все же. Как мне правильно перезаписать логику работы данного файла.

vendor/spatie/laravel-ignition/src/Http/Controllers/ExecuteSolutionController.php

Понятное дело что нельзя менять этот файл напрямую.
Нужно изменить лишь эту функцию.

public function ensureLocalRequest(): self
{
$ipIsPublic = filter_var(
request()->ip(),
FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
);
if ($ipIsPublic) {
throw CannotExecuteSolutionForNonLocalIp::make();
}
return $this;
}

Пробовал гуглить, но не нашел толковой информации как переписать логику только одного файла пакета, при этом чтобы не трогать логику всего пакета.

Вопрос как это сделать максимально правильно чтобы при обновлении пакетов не потерять внесенные изменения.

Также возможно кто-то сталкивался с подобной проблемой и есть готовое решение.

Т.е. приложение развернуто в проде с включенным дебагом?

gart_service 2022-06-27 06:47:23
msvks 2022-06-27 06:31:49
Т.е. приложение развернуто в проде с включенным дебагом?

Нет это тестовый сервер для разработчиков.

msvks 2022-06-27 06:48:15
А окружение правильно настроено или он думает, что запущен в проде?
RuslanMakarov 2022-06-27 07:18:01
gart_service 2022-06-27 04:19:53
Добрый день всем!
У меня возникает ошибка в Laravel 9
Solutions cannot be run from your current IP address.

Данная ошибка возникает потому что я веду разработку не в локальной среде. Наша компания использует DEV ops Azure. Весь код выгружается туда. И понятное дело я захожу на сайт на с локального IP.

В Vendor нашел файл который вызавает данную ошибку
Вопрос может показатся тупым но все же. Как мне правильно перезаписать логику работы данного файла.

vendor/spatie/laravel-ignition/src/Http/Controllers/ExecuteSolutionController.php

Понятное дело что нельзя менять этот файл напрямую.
Нужно изменить лишь эту функцию.

public function ensureLocalRequest(): self
{
$ipIsPublic = filter_var(
request()->ip(),
FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
);
if ($ipIsPublic) {
throw CannotExecuteSolutionForNonLocalIp::make();
}
return $this;
}

Пробовал гуглить, но не нашел толковой информации как переписать логику только одного файла пакета, при этом чтобы не трогать логику всего пакета.

Вопрос как это сделать максимально правильно чтобы при обновлении пакетов не потерять внесенные изменения.

Также возможно кто-то сталкивался с подобной проблемой и есть готовое решение.

Почему вызывется ensureLocalRequest() выясни по стэктрейсу

Илья Борисов 2022-06-27 07:27:09
gart_service 2022-06-27 04:19:53
Добрый день всем!
У меня возникает ошибка в Laravel 9
Solutions cannot be run from your current IP address.

Данная ошибка возникает потому что я веду разработку не в локальной среде. Наша компания использует DEV ops Azure. Весь код выгружается туда. И понятное дело я захожу на сайт на с локального IP.

В Vendor нашел файл который вызавает данную ошибку
Вопрос может показатся тупым но все же. Как мне правильно перезаписать логику работы данного файла.

vendor/spatie/laravel-ignition/src/Http/Controllers/ExecuteSolutionController.php

Понятное дело что нельзя менять этот файл напрямую.
Нужно изменить лишь эту функцию.

public function ensureLocalRequest(): self
{
$ipIsPublic = filter_var(
request()->ip(),
FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
);
if ($ipIsPublic) {
throw CannotExecuteSolutionForNonLocalIp::make();
}
return $this;
}

Пробовал гуглить, но не нашел толковой информации как переписать логику только одного файла пакета, при этом чтобы не трогать логику всего пакета.

Вопрос как это сделать максимально правильно чтобы при обновлении пакетов не потерять внесенные изменения.

Также возможно кто-то сталкивался с подобной проблемой и есть готовое решение.

http://vvv.tobiassjosten.net/php/have-composer-use-development-branches/
Можно сделать dev branch

Have Composer use development branchesvvv.tobiassjosten.net
Using Composer for our PHP projects is a given. But what about when you stumble over a bug in one of those libraries?
no_name 2022-06-27 08:56:41
Кто-то может объяснить как работаеть cookie и как их правильно использовать
ya 2022-06-27 08:58:24
смотря что с ними хочешь делать)
oleynikgleb 2022-06-27 08:59:11
no_name 2022-06-27 08:56:41
Кто-то может объяснить как работаеть cookie и как их правильно использовать

Э… в двух словах — локальные файлы, в которых сохраняются данные доступные сайту/домену, есть некоторые механизмы защиты от их перехвата, но они не совершенны, т.к. механизм старый.
Критические данные не хранить. Большие объемы данных не хранить. Использовать как хочешь.

oleynikgleb 2022-06-27 08:59:45
Типа сессий, только на клиенте.
no_name 2022-06-27 09:01:09
Ясно
xchomarg 2022-06-27 11:05:49
laravel_pro-577368.jpg
Здравствуйте всем.
друзья , после того как обновилось апи, у меня перестало работать запрос, получаю ошибку типо этого.
что вы предложите?
Http::withOptions([‘verify’ => false])->get($link);
YoIHaveAProblem 2022-06-27 11:08:35
xchomarg 2022-06-27 11:05:49
Здравствуйте всем.
друзья , после того как обновилось апи, у меня перестало работать запрос, получаю ошибку типо этого.
что вы предложите?
Http::withOptions([‘verify’ => false])->get($link);

вики открывается по той ссылке, на которую запрос делаешь?

oleynikgleb 2022-06-27 11:08:48
xchomarg 2022-06-27 11:05:49
Здравствуйте всем.
друзья , после того как обновилось апи, у меня перестало работать запрос, получаю ошибку типо этого.
что вы предложите?
Http::withOptions([‘verify’ => false])->get($link);

Я бы посмотрел что сейчас лежит в ссылке для запроса, похоже где-то склеились строки.

|