Есть pivot-таблица championship_user
:
Я получаю данные Championship
пользователя User
вот так:
public function championships()
{
return $this->belongsToMany(Championship::class)->withPivot('skill_id', 'role', 'result');
}
В контроллере мне нужно получить все Championship
пользователя:
$championships = Auth::user()->championships();
$skills = Skill::all();
dd($championships);
Вывод dd()
такой:
#related: Championship {#236 ▼
#hidden: []
#guarded: []
#connection: "mysql"
#table: null
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: false
+wasRecentlyCreated: false
#attributes: []
#original: []
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#visible: []
#fillable: []
}
Т.е. он не может найти никакие записи, хотя записи есть:
В чем может быть ошибка? Как исправить?
В моем коде была ошибка: $championships = Auth::user()->championships();
. Там не должно быть ()
в конце. Можно было оставить и так, но тогда нужно добавить ->get()
вот так: $championships = Auth::user()->championships()->get();
. Т.е. мы создаем запрос, но не выполняем его.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть ли возможность прямо внутри модели App\Post задать значения по умолчанию, например для поля user_id типа:
На данный вопрос уже ответили:
Как взять только одно значение из клетки у котороый всего 6 значений?