@laravel_pro

Страница 1473 из 2014
Сергей
13.06.2018
06:28:21
Спасибо парни, помогло $images = Image::get()->sortByDesc('rating')->values()->all();

Сергей
13.06.2018
06:35:37
Парни, помогите ещё разобраться со вторым вопросом) В кратце: Есть сущность Image, которая имеет мутатор "rating", который в свою очередь вычисляется из 2-х полей. Эти 2 поля постоянно меняются в процессе голосования на сайте. Так вот, на одной странице мне нужно вывести Images отсортированные по этому мутатору. С чем вы уже помогли разобраться. Но количество Images будет большое, поэтому нужно сделать динамическую подгрузку по 10 штук. И тут возникает ситуация, - один пользователь загрузил 10 Images - второй активно голосует, тем самым у нескольких Images меняется "rating" - первый пользователь загружает ещё 10 штук и тут уже сортировка нарушится, Как быть в этой ситуации? Единственное что приходит в голову, загрузить 10, потом 20 и обновить список удалив\подменив первые 10, и так далее 30, 40, 50 Но может есть более правильные решения, прошу совета))

Denis
13.06.2018
06:45:44
почему лучше?
sortByDesc + values - это 2 обхода по коллекции. А присортировке на стороне базы сразу получаем нужную коллекцию

Google
Denis
13.06.2018
06:46:51
Не факт, что это даст какой-то прирост производительности. Но если бд сама умеет отсортировать, зачем изобретать велосипед?

Если я правильно понял предыдущее сообщение Korg, и rating является аксессором, то на стороне бд сортировка не прокатит. Тогда моя теория неверна

Yevgen
13.06.2018
06:48:42
Всем привет. Уважаемые, подскажите, пожалуйста как я могу выкрутиться в ситуации когда в $request есть несколько файлов и я пытаюсь обойти их foreach, нужно написать что то вроде $request->$key? Вместо $key должно подставлять имя текущего инпута

Kirill
13.06.2018
06:52:26
Подскажите, для Eloquent можно ли билдером составить запрос - если есть связь - одни условия для запроса, если нет связи - другие ?

Артур
13.06.2018
06:54:23
Парни, помогите ещё разобраться со вторым вопросом) В кратце: Есть сущность Image, которая имеет мутатор "rating", который в свою очередь вычисляется из 2-х полей. Эти 2 поля постоянно меняются в процессе голосования на сайте. Так вот, на одной странице мне нужно вывести Images отсортированные по этому мутатору. С чем вы уже помогли разобраться. Но количество Images будет большое, поэтому нужно сделать динамическую подгрузку по 10 штук. И тут возникает ситуация, - один пользователь загрузил 10 Images - второй активно голосует, тем самым у нескольких Images меняется "rating" - первый пользователь загружает ещё 10 штук и тут уже сортировка нарушится, Как быть в этой ситуации? Единственное что приходит в голову, загрузить 10, потом 20 и обновить список удалив\подменив первые 10, и так далее 30, 40, 50 Но может есть более правильные решения, прошу совета))
Тебе нужен список на конкретное время. Есть 2 варианта 1. Получить id всех фото, сохранить в сессию, отдавать постранично. Плюсы: быстро Минусы : жрет место, сессия большая может быть, нужно думать об открытии нескольких вкладок 2. Запомнить дату начала генерации списка. Отдавать список по состоянию на указанное датавремя Плюсы: ничего не надо помнить в сессии, нет емкой логики на бд Минусы: Нужна история голосов. Нужно делать срез за период, а это провоцирует нагрузку на бд. Как убрать нагрузку: Для того чтобы не было нагрузки, можно сохранять ежедневные срезы и от них считать динамику.

Serge
13.06.2018
06:54:42
Здравствуйте. Надо админпанель, что есть хорошего для ларки из админок. На yii2 использовал AdminLTE, сейчас вот надо выбрать для ларки.

Serge
13.06.2018
06:55:37
Ок

Serge
13.06.2018
06:56:28
Ну и Voyager вижу многие хвалят как админку

Google
Oleg
13.06.2018
06:57:58
Или же $request->files()

Артур
13.06.2018
07:01:09
Сергей
13.06.2018
07:01:45
зачем 2 поля?
рейтинг = количество батлов / количество побед * 100%

Артур
13.06.2018
07:02:04
Рейтинг можно хранить на начало дня, часа и т.д. Историю голосов тоже от указаноого периода
Даже если будет миллион голосований за день, на сл. день история будет стерта, а итоги подбиты

Даже если будет миллион голосований за день, на сл. день история будет стерта, а итоги подбиты
Но лучше стирать с условием - период. И можно так делать каждые 30 мин

Ну или помнить все ид в сессии

Сергей
13.06.2018
07:04:35
Но лучше стирать с условием - период. И можно так делать каждые 30 мин
спасибо, нужно обдумать) Тут ещё и фото будут грузить переодически, и они сходу должны участвовать в формировании списка

Oleg
13.06.2018
07:06:20
спасибо, нужно обдумать) Тут ещё и фото будут грузить переодически, и они сходу должны участвовать в формировании списка
Как по мне то что ты описываешь это лишняя нагрузка на пользователя. Он зашёл посмотреть воуты, тут 10 посмотрел хочет посмотреть ещё 10, с тут бац те что он посмотрел уже не первые десять, а разбросаны в другом порядке

Oleg
13.06.2018
07:07:33
Высчитывать рейтинг раз в промежуток времени

Сергей
13.06.2018
07:08:28
А такой вопрос, какое максимальное количество можно выбрать из БД, что бы не создать жёсткую нагрузки и по времени выборка не занимала много?

Nik
13.06.2018
07:18:35
Да, согласен, но пока не вижу идеального решения)
- не делать херню - завести отдельное поле и пересчитывать его кроном

Евгений
13.06.2018
07:25:20
Кто нибудь использовал https://docs.spatie.be/laravel-medialibrary/v7/ ? Не понял как поменять структуру каталогов для хранения файлов

а тьфу, нашел в доке

спать по 4 часа плохо :(

Vadim
13.06.2018
07:31:14
А 2 вообще жесть

Google
Serge
13.06.2018
07:39:32
А есть дополнение для загрузки картинок для записи в таблице (для статьи например). То есть область куда можно перетянуть либо загрузить картинку через кнопку, сразу в этой области отображаются превью картинок, где их можно удалить, добавить отсортировать и так для любой статьи?

Kirill
13.06.2018
07:45:34
вызываешь не параметр, а метод, и модифицируешь его
$image = \App\Image::query() ->with(['activity', 'users']) ->whereDoesntHave('rectangles') ->whereDoesntHave('positions') ->whereDoesntHave('users', function ($query) { $query->where('status', '=', 'new'); }) ->orWhereHas('users', function ($query) { $query->where('status', '=', 'in-progress'); }) ->get(); оно? параллельно вопрос, как отсортировать по полю activity.status ?

Георгий
13.06.2018
08:07:36
хай все

а кто использует phpstorm? подскажите как настроить дебаггер для ларавель на него или статью какую)

Maksim (Ellrion)
13.06.2018
08:10:10
Сергей
13.06.2018
08:11:07
подскажите как сделать так чтобы сервер отдавал медиа файлы по api? что сделать с корсами нужно? У меня стоит пакет cors но он не работает для отдачи файлов по апи для загрузки.

Yevgen
13.06.2018
08:21:19
$request->file('name'), в доку
Спасибо, но вопрос был в другом. Уже разобрался )))

Георгий
13.06.2018
08:36:05
Pavel
13.06.2018
08:42:27






кто подскажет что не так? делаю валидацию ввожу текст а оно не проходит

Сергей
13.06.2018
08:43:45
Парни, подскажите в таком вопросе: Есть таблица, нужно обновить все записи, а именно одну колонку Что бы в этой колонке поле А для каздой записи было равна = поле В + поле С

Nik
13.06.2018
08:50:49
что я тебе должен ответить?

Google
Nik
13.06.2018
08:53:24
нейм ты забыл полям указать, и ненадо сюда скрины отправлять

Pavel
13.06.2018
08:59:15
спасибо сори

Maksim
13.06.2018
09:10:22
Ребят, а кто-нибудь с кластером редиса работал?

Nikolay
13.06.2018
09:10:38
Я

В пм

Roman
13.06.2018
09:58:07
Ребята привет. При определенных условиях, мне необходимо запустить 3 команды ларавел последовательно: artisan migrate, artisan db:seed, artisan vendor:publish. Следующая команда должна запускаться при завершении предыдущей. В случае ошибки, следующая команда не запускается. Подскажите как решить эту проблему или куда смотреть.

Nikolay
13.06.2018
10:00:05
ты можешь создать одну команду которая это все сделает

и с блоками try catch отлавливать ошибки

Roman
13.06.2018
10:00:57
ты можешь создать одну команду которая это все сделает
в этом случае db:seed начнет отрабатывать быстрее, чем migrate

Nikolay
13.06.2018
10:01:38
в catch выставлять статус =false

и перед каждым шагом проверять статус

Roman
13.06.2018
10:07:08
А в чём сама проблема? Можно же просто через Artisan::call() поочерёдно вызывать и смотреть каждый раз на output
В том, что пока миграции будут применяться, начнется вызов db:seed, и получается ошибка, потому что еще нету таблицы

Вроде через Schedule можно

А в чём сама проблема? Можно же просто через Artisan::call() поочерёдно вызывать и смотреть каждый раз на output
Суть последовательности тут в том, чтобы след. команда запускалась ТОЛЬКО после того, как успешно закончится выполнение текущей команды

AM
13.06.2018
10:12:34
В том, что пока миграции будут применяться, начнется вызов db:seed, и получается ошибка, потому что еще нету таблицы
Странно, вроде не должно быть так. По сути он должен ждать выполнения, на моей памяти.

Nikolay
13.06.2018
10:13:44
+

Roman
13.06.2018
10:20:25
artisan migrate && artisan db:seed && artisan vendor:publish
Через Artisan::call() из вызывать?

Иван
13.06.2018
10:20:49
В консоли

Google
Roman
13.06.2018
10:21:06
В консоли
мне надо программно их вызывать

Denis
13.06.2018
10:23:22
Разве Artisan::call() исполняет команды асинхронно?

Artisan::queue() исполняет в бэкграунде

Roman
13.06.2018
10:26:44
mr_makss
13.06.2018
10:28:01
бред, пыха однопоточна
я бы так наверняка не утверждал)

Nik
13.06.2018
10:28:14
я бы так наверняка не утверждал)
хочешь об этом поговорить? :)

Roman
13.06.2018
10:28:18
бред, пыха однопоточна
Ладно, думаю проблема не в ларавел коде, буду копать в уже написанном

mr_makss
13.06.2018
10:28:41
хочешь об этом поговорить? :)
а что говорить то сам готовил реализацию расширяющую однопоточность пыхи)

прям так и было new Thread

))

Nik
13.06.2018
10:29:29
ларке не нужны pthreads

откуда у него возьмется не синхронный код там?

mr_makss
13.06.2018
10:30:05
ну это ему решать))

"иногда думаешь какой му... пишет обновления к php"

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