Alex
Привет. $companies = Cache::remember('companies', 120, function() {}) Подскажите, как обнулить данные в $companies через Cache::?
Anton
forget, flush
Alex
forget, flush
Спасибо!
Anton
читай доку, там все есть
Сергей
Привет) подскажите как реализовать задачу? Есть таблица юзеров, таблица уроков и связующая таблица. Как при выводе уроков выводить дополнительное свойство о том связан ли юзер с уроком в таблице? Получить всех юзеров связанных с уроком могу, т.к. в модели связь настроена, как узнать связан ли авторизованный с уроком? Вывод через JsonResource реализован.
Vladyslav 🕉☮️
получить данные авторизованного юзера можно через фасад Auth::user()
Vladimir
+
Сергей
public function hasUser($user) { return $this->users->contains($user); }
и при вызове передавать авторизованного получается?
Сергей
public function hasUser($user) { return $this->users->contains($user); }
Но мне нужно получить будет pivot запись а не только связан или нет)
Сергей
Да
Как тогда быть?
Vladimir
Как тогда быть?
Создай еще public function user($user) {} пропиши в нем условие если есть hasUser выводи связь
Anton
для чего тебе пивот запись?
Сергей
Создай еще public function user($user) {} пропиши в нем условие если есть hasUser выводи связь
вот сделал public function isComplete($user){ return $this->hasUser($user)? $this->users->where('user_id', $user)->withPivot('complete'): null; } public function hasUser($user) { return $this->users->contains($user); } Но не могу понять как пивот получить, т.к. ошибка если так делать
Сергей
для чего тебе пивот запись?
Статус прохождения и прочие мета данные
Сергей
"message": "Method Illuminate\\Database\\Eloquent\\Collection::withPivot does not exist.",
Dias
здрасьте. подскажите пожалуйста. Как в роуте создать перенаправление к контроллеру и ко вьюшке
Dias
мне не нужно что в контроллере в конце было return view
Dias
или создать 2 акшена один для return view
Dias
второй для обработки данных?
Dias
я нуб
Anton
"message": "Method Illuminate\\Database\\Eloquent\\Collection::withPivot does not exist.",
а ты не хочешь сам немного попрограммировать? пришел и сидишь ждешь что сделают
Anton
получить данные из пивот таблицы можно используя withPivot. Какие еще вопросы?
Сергей
а ты не хочешь сам немного попрограммировать? пришел и сидишь ждешь что сделают
Хочу, у меня есть этот запрос уже $levels = Level::where('language_id', Auth::user()->language->id) ->with(['sections', 'sections.lessons', 'sections.lessons.users' => function($query) { $query->where('user_id', Auth::user()->id)->withPivot('complete'); }]) ->orderBy('sort', 'asc') ->get(); но пересобрал метод в модели и не работает.
Anton
что то сложно у тебя тут все.
Anton
связь у lessons и users есть?
Anton
может быть стоит от этой связи шагать?
Сергей
может быть стоит от этой связи шагать?
мне нужно просто проверить связан ли юзер с лессонс и какой комплете если связан)
Anton
ну а для чего тебе столько таблиц?
Сергей
и вывести в свойство у lesson)
Anton
Level для чего?
Anton
sections для чего?
Сергей
ну level это уровень урока, в том примере большой запрос. Там много не нужного
Сергей
ну а для чего тебе столько таблиц?
Есть таблица юзеров, таблица уроков и связующая таблица. Как при выводе уроков выводить дополнительное свойство о том связан ли юзер с уроком в таблице? Получить всех юзеров связанных с уроком могу, т.к. в модели связь настроена, как узнать связан ли авторизованный с уроком?
Сергей
вот задача
Anton
$lessons = Lesson::where('user_id', Auth::user()->id)?
Anton
так нельзя? )
Anton
ааа, туплю
Сергей
так нельзя? )
в модели надо это как то)
Dmitriy
join только =)
Anton
погоди, у тебя User и Lesson есть связь manyToMany?
Vladimir
Тоже самое – ошибка
public function users() реализованы через belongsToMany ?
Сергей
public function users() реализованы через belongsToMany ?
Да, сейчас "message": "Call to a member function withPivot() on null",
Сергей
public function users() реализованы через belongsToMany ?
Вот поправил запрос return $this->users()->find($user->id)->withPivot('complete'); но теперь пишет Method Illuminate\\Database\\Query\\Builder::withPivot does not exist.
Сергей
исправил $user на $user->id
Vladimir
Скинь модели целиком сюда
public function users() { return $this->belongsToMany(User::class, 'lesson_users', 'user_id', 'lesson_id'); } public function user($user) { return $this->users()->withPivot('type')->find($user); } у меня работает
Сергей
Сергей
ты не правильно написал просто мне запрос
Anton
надо же получить для заданного пользователя уроки которые complete?
Сергей
так как это фильтрует по complete?
фильтровать по комплете не надо было, надо было вывести статус урока относительно авторизованного)
Anton
еп
Anton
а я то думал что надо фильтровать
Anton
https://paste.laravel.io/d680980a-c40f-4fb2-b780-377a9f1afe34
Anton
запрос наваял. лол
Anton
что то пошло не так
Сергей
что то пошло не так
Всё равно спасибо) пригодится и твоя помощь) лишний раз не буду спрашивать если что подсмотрю)
Anton
тут фильтруются только complete
Сергей
тут фильтруются только complete
Да вижу) Дело в том что мне это всё надо отдавать через Resource и в контроллере это я не напишу, потому что Коллекцией отдаю с кучей вложенности)
Сергей
и внутри вложеностей надо было делоть выборку, а это только в модели я так понимаю