Size: a a a

Laravel для начинающих

2021 March 13

AH

Andrey Helldar in Laravel для начинающих
Санжар
Где лучше хранить небольшие данные?

В моем случае так: я делаю запрос к API, данные из API привожу в нужный вид (JSON отсортированный), потом отдаю клиенту данные примерно такие:
  "person_name": [
   "Rosamund Pike",
   "Gal Gadot",
   "Tom Hardy",
   "Anya Taylor-Joy",
   "Scarlett Johansson"
 ],
 "person_image": {
   "img": "https:\/\/image.tmdb.org\/t\/p\/w500\/8ObNklHDi2hjdz0ayzJFB9jtqzm.jpg",
   "name": "Rosamund Pike"
 }

По сути клиент может вернуть имя, и дальше мне нужно чекать, правильно ли он угадал имя из картинки.
Хранить данные для person_image в БД, и при ответном запросе от клиента просто по бд чекать или как?
Знаю вопрос очевидный, просто пытаюсь самое лучшее решение найти. не уверен что ок будет обычную запись в бд.
Зависит от цели. Если впоследствии планируется сбор аналитики по ответам, то в базу. А если это, скажем так, разовая акция, то вполне приемлемо в редиску такое сунуть как кэш.
источник

a

alexander in Laravel для начинающих
Andrey Helldar
В этом коде нет понятия "порядок".
Я понимаю, но запрос строится некорректно.
insert into menu_elements (menu_id, element_caption, element_href, parent_id, updated_at, created_at) values (123, 2, category, 0, 2021-03-13 15:31:26, 2021-03-13 15:31:26))
т.е. меняет местами menu_id и element_caption
И мне непонятно почему такое может происходить
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Санжар
Где лучше хранить небольшие данные?

В моем случае так: я делаю запрос к API, данные из API привожу в нужный вид (JSON отсортированный), потом отдаю клиенту данные примерно такие:
  "person_name": [
   "Rosamund Pike",
   "Gal Gadot",
   "Tom Hardy",
   "Anya Taylor-Joy",
   "Scarlett Johansson"
 ],
 "person_image": {
   "img": "https:\/\/image.tmdb.org\/t\/p\/w500\/8ObNklHDi2hjdz0ayzJFB9jtqzm.jpg",
   "name": "Rosamund Pike"
 }

По сути клиент может вернуть имя, и дальше мне нужно чекать, правильно ли он угадал имя из картинки.
Хранить данные для person_image в БД, и при ответном запросе от клиента просто по бд чекать или как?
Знаю вопрос очевидный, просто пытаюсь самое лучшее решение найти. не уверен что ок будет обычную запись в бд.
Ну, два запроса к api - вывод задания и его проверка
источник

AH

Andrey Helldar in Laravel для начинающих
alexander
Я понимаю, но запрос строится некорректно.
insert into menu_elements (menu_id, element_caption, element_href, parent_id, updated_at, created_at) values (123, 2, category, 0, 2021-03-13 15:31:26, 2021-03-13 15:31:26))
т.е. меняет местами menu_id и element_caption
И мне непонятно почему такое может происходить
Если это происходит в том коде, который скинул выше (https://t.me/laravel_web/505153), то следует проверить что передаёшь при вызове метода add(). Похоже на то, что туда передаются параметры не в том порядке, потому как в самом методе всё в порядке.
источник

С

Санжар in Laravel для начинающих
Andrey Helldar
Зависит от цели. Если впоследствии планируется сбор аналитики по ответам, то в базу. А если это, скажем так, разовая акция, то вполне приемлемо в редиску такое сунуть как кэш.
про редис не думал, хороший вариант. в моем случае все же буду БД использовать пожалуй.
источник

С

Санжар in Laravel для начинающих
спасиб
источник

D

David in Laravel для начинающих
Санжар
про редис не думал, хороший вариант. в моем случае все же буду БД использовать пожалуй.
а зря, лучше бы редис все таки
источник

AH

Andrey Helldar in Laravel для начинающих
alexander
Я понимаю, но запрос строится некорректно.
insert into menu_elements (menu_id, element_caption, element_href, parent_id, updated_at, created_at) values (123, 2, category, 0, 2021-03-13 15:31:26, 2021-03-13 15:31:26))
т.е. меняет местами menu_id и element_caption
И мне непонятно почему такое может происходить
Также рекомендую использовать типизацию, чтобы отсечь лишние проблемы.

Например, строку:

public function add($menu_id, $name, $href = '', $parent_id = 0){

привести к

public function add(int $menu_id, string $name, string $href = '', int $parent_id = 0) {
источник

С

Санжар in Laravel для начинающих
David
а зря, лучше бы редис все таки
Не зря, я сейчас подумал с позиции того, что дальше будет регистрация, викторины, лидерборд, статистика какая-то у юзера и все смежное. Для такого лучше БД ведь, если эти данные будут привязаны к юзерам
источник

a

alexander in Laravel для начинающих
Andrey Helldar
Также рекомендую использовать типизацию, чтобы отсечь лишние проблемы.

Например, строку:

public function add($menu_id, $name, $href = '', $parent_id = 0){

привести к

public function add(int $menu_id, string $name, string $href = '', int $parent_id = 0) {
Я взял целиком ваш код. И он у меня так же строит некорректный запрос.
источник

D

David in Laravel для начинающих
Санжар
Не зря, я сейчас подумал с позиции того, что дальше будет регистрация, викторины, лидерборд, статистика какая-то у юзера и все смежное. Для такого лучше БД ведь, если эти данные будут привязаны к юзерам
ладно, тогда да
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Санжар
про редис не думал, хороший вариант. в моем случае все же буду БД использовать пожалуй.
ЗАкешируй в Редис
источник

ВШ

Виталий Шутов... in Laravel для начинающих
источник

С

Санжар in Laravel для начинающих
Виталий Шутов
ЗАкешируй в Редис
не, дядь) тут не redis годится для моих целей в итоге. мне данные нужны будут в будущем привязанные к юзерам прост)
источник

С

Санжар in Laravel для начинающих
спасибо
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Санжар
не, дядь) тут не redis годится для моих целей в итоге. мне данные нужны будут в будущем привязанные к юзерам прост)
Так то викторина была?
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Я думал капча какая-то при входе в учетку
источник

С

Санжар in Laravel для начинающих
да, там викторина
а редис для капчи частое решение и норм?
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Санжар
да, там викторина
а редис для капчи частое решение и норм?
Так Редис для всего норм, чтобы сократить количество запросов в базу
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Вот я сейчас пилю чат. Зашло 100 юзеров, три пишут сообщения. Если один отправил сообщение, у каждого из 100 юзеров будет запрос в базу на получение сообщений. Кешируем и сокращаем количество запросов аж на 99
источник