
Остап
23.10.2018
16:40:13
ооо, создалось

Сергей
23.10.2018
16:41:26
Подскажите можно ли как то создать записи в редис для Post::find($id)->comments ? чтобы тянуть из редис, а не из базы?

Vadym
23.10.2018
16:42:45
JWT auth
https://github.com/tymondesigns/jwt-auth эта библиотека?

Остап
23.10.2018
16:42:59

Google

Oleg
23.10.2018
16:43:11

Vadym
23.10.2018
16:44:00

Сергей
23.10.2018
16:45:50

Vadym
23.10.2018
16:47:02

Сергей
23.10.2018
16:47:39

Vadym
23.10.2018
16:49:43

Сергей
23.10.2018
16:50:20
У 4 уровня вложености, поэтому не нужно из модели юзать как то)
lang->levels->lessons->tasks грубо говоря. в итоге у меня получается около 10к tasks и нужно это хранить в редис чтобы каждый раз не собирать эту ерунду. Но при этом у каждого. task есть pivot с юзером
но пивот может быть не у каждого пользователя

Alexandr
23.10.2018
17:01:12
Вечер добрый, кто-нибудь работал с Paypal Api? Интересует отличие Billing Plans и Billing Agreements не очень разберу. Надо делать и план и соглашение?

Сергей
23.10.2018
17:11:26

Vadym
23.10.2018
17:12:29

Google

Сергей
23.10.2018
17:12:55

Vadym
23.10.2018
17:14:03
ну я исправил под себя
проверял, точно из кэша тянет, а не из бд? у меня были проблемы с ключем, с одним работает, с другим только из бд тянет

Сергей
23.10.2018
17:14:16
только я не так делал return DB::table('users')->get();
а через связь
да точно тянет из кеша

Илья
23.10.2018
17:14:29

Сергей
23.10.2018
17:15:25
у меня здесь тянется 5к сущностей из бд
у меня это всё очень долго собирает(
порядка 580 запросов в бд делает

Максим
23.10.2018
17:16:45
всем привет, ребят! постигаю laravel. много гуглю, но нашёл только одно странное решение на свой вопрос и всё. ответьте на нубский вопрос, пожалуйста. есть m2m связь user - language, в pivot-таблице есть level_id (уровень знания языка пользователем) - внешний ключ. как сделать чтоб работало $userLang->pivot->level->name?

Сергей
23.10.2018
17:16:52
я пытался уже оптимизировать как только можно, но всё равно каждая запись из 5к имеет pivot с юзером при выдаче(

Илья
23.10.2018
17:17:20

Сергей
23.10.2018
17:17:38

Илья
23.10.2018
17:17:45
у level связь с юзером?

Сергей
23.10.2018
17:18:42

Илья
23.10.2018
17:18:55

Сергей
23.10.2018
17:19:44

Илья
23.10.2018
17:19:59

Google


Сергей
23.10.2018
17:20:36
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'description' => $this->description,
'image' => $this->image,
'language' => $this->language,
'language_id' => $this->language_id,
'sort' => $this->sort,
'paid' => $this->paid,
'published' => $this->published,
'lessons' => $this->when($request->get('lessons'), function () {
return LessonResource::collection($this->sections->sortBy('sort'));
}),
'percent' => $this->levelPercent
];
}
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'hint' => $this->hint,
'level_id' => $this->level_id,
'sort' => $this->sort,
'published' => $this->published,
'video' => $this->video,
'tasks' => $this->when($request->get('tasks'), function() {
return TaskIndex::collection($this->lessons->sortBy('sort'));
}),
'percent' => $this->user_percent
];
}
это lessons
покажи
lessons получается 50 в каждом level. А в каждом lessons 50-60 tasks


Adel
23.10.2018
17:23:06
надо сначала сфомировать запрос. исходя из реквест параметров
с нужными with
не надо это разруливать в ресурсах

Илья
23.10.2018
17:23:21
return LevelResource::collection(Level::with('lessons.tasks')->where('language_id', 1)->where('published', 1)->get()->sortBy('sort'));

Сергей
23.10.2018
17:23:22
Единственный минус всего, что сейчас всё отдается сразу. Была идея переделать динамическую подгрузку конечно, но думаю может это может тимизировать

Илья
23.10.2018
17:25:07

Сергей
23.10.2018
17:25:22

Илья
23.10.2018
17:25:54
сколько занимает по времени?
я немного запутался в твоих связях
как связаны sections, lessons, tasks, levels?

Сергей
23.10.2018
17:28:37

Илья
23.10.2018
17:29:58
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'description' => $this->description,
'image' => $this->image,
'language' => $this->language,
'language_id' => $this->language_id,
'sort' => $this->sort,
'paid' => $this->paid,
'published' => $this->published,
'lessons' => $this->when($request->get('lessons'), function () {
return LessonResource::collection($this->sections->sortBy('sort'));
}),
'percent' => $this->levelPercent
];
}
у тебя тут ->sections есть

Google

Илья
23.10.2018
17:30:05
очепятка?
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'hint' => $this->hint,
'level_id' => $this->level_id,
'sort' => $this->sort,
'published' => $this->published,
'video' => $this->video,
'tasks' => $this->when($request->get('tasks'), function() {
return TaskIndex::collection($this->lessons->sortBy('sort'));
}),
'percent' => $this->user_percent
];
}
и не очень понятно почему в поле tasks возвращается коллекция lessons

Alexander
23.10.2018
18:35:46
Подскажите что делать пж, не могу подключиться к БД на локале
В терминале сделал все как надо, а на SqlPro жалуется на caching_sha2_password

Vladimir
23.10.2018
18:36:52
Всем привет! А кто-нить логирует медленные запросы к БД в самой ларе?

Сергей
23.10.2018
18:43:54

Илья
23.10.2018
18:44:40

Сергей
23.10.2018
18:45:22

Илья
23.10.2018
18:46:02
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'description' => $this->description,
'image' => $this->image,
'language' => $this->language,
'language_id' => $this->language_id,
'sort' => $this->sort,
'paid' => $this->paid,
'published' => $this->published,
'lessons' => $this->when($request->get('lessons'), function () {
return LessonResource::collection($this->sections->sortBy('sort'));
}),
'percent' => $this->levelPercent
];
}
тут lessions - это sections

Сергей
23.10.2018
18:46:08


Илья
23.10.2018
18:46:12
по настроению? :)
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'description' => $this->description,
'image' => $this->image,
'language' => $this->language,
'language_id' => $this->language_id,
'sort' => $this->sort,
'paid' => $this->paid,
'published' => $this->published,
'lessons' => $this->when($request->get('lessons'), function () {
return LessonResource::collection($this->sections->sortBy('sort'));
}),
'percent' => $this->levelPercent
];
}
как называеся этот ресурс?
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'title' => $this->title,
'hint' => $this->hint,
'level_id' => $this->level_id,
'sort' => $this->sort,
'published' => $this->published,
'video' => $this->video,
'tasks' => $this->when($request->get('tasks'), function() {
return TaskIndex::collection($this->lessons->sortBy('sort'));
}),
'percent' => $this->user_percent
];
}
и этот?
именно название класса


Сергей
23.10.2018
18:47:21

Илья
23.10.2018
18:48:30
покажи LessonResource
и TaskIndex

Google

Сергей
23.10.2018
18:52:15
и TaskIndex
https://gist.github.com/krosh961/a7fabf068c3c091931364902afe4bf86

Илья
23.10.2018
18:54:56
без них не видно полной картины

Сергей
23.10.2018
18:55:32

Илья
23.10.2018
18:56:07
не обратил внимание, что ты алиас классу дал, увидел

Сергей
23.10.2018
18:56:08

Илья
23.10.2018
18:57:05
в Template поле fields - это релейшн или просто столбец БД?

Maxim
23.10.2018
18:57:11
Ребят, добавляю в env поле API_KEY={value}
В итоге через env() не могу получить, возвращает null, config:cache делал

Сергей
23.10.2018
18:57:15

Илья
23.10.2018
18:57:36

Maxim
23.10.2018
18:57:53

Илья
23.10.2018
18:57:58

Maxim
23.10.2018
18:58:03
Понял, спасибо

Илья
23.10.2018
19:00:31
@kardashov пробуй ->with('sections.lessons.template')
то есть как-то так по итогу получится
return LevelResource::collection(Level::with('sections.lessons.template')->where('language_id', 1)->where('published', 1)->get()->sortBy('sort'));