Я работаю через видео Laracasts о загрузке эгара и до сих пор так хорошо!Как я могу получить привязанные значения таблицы от активной загрузки?
Я думал, что хорошо разбираюсь в концепциях, но теперь я повесил трубку с тем, как я это делал (CodeIgniter) против этого довольно удивительного пути.
У меня есть 3 таблицы:
cards #card_id, title, created_at, updated_at
notes #note_id, name, created_at, updated_at
card_notes #card_id, note_id
В card_notes
есть FK поля:
card_id #FK back to cards->card_id
note_id #FK back to notes->note_id
Я могу получить все ноты для данной карты:
CardsController.php
public function show(Card $card)
{
$card->load('notes');
}
Card.php
public function notes()
{
return $this->hasMany(CardNote::class);
}
JSON
{
id: 1,
title: "First Card",
created_at: null,
updated_at: null,
notes: [
{
card_id: 1,
note_id: 1,
created_at: null,
updated_at: null
},
{
card_id: 1,
note_id: 2,
created_at: null,
updated_at: null
}
]
}
До сих пор, так хорошо! Теперь, в моей таблице notes
, у меня есть столбец name
, который я хочу показать. Вот где я застрял. Я могу добраться до моей таблицы поиска, но я не понял, как получить за этой таблицей и в объединенную таблицу. Похоже, мне нужен hasManyThrough
, но ... Я падаю на лицо.
return $this->hasManyThrough(Note::class, CardNote::class);
Мне нужно получить все записи нот для данного note_id
, но я не знаю, как перейти в следующий уровень. Это то, что я пытаюсь создать в конце концов:
JSON
{
id: 1,
title: "First Card",
created_at: null,
updated_at: null,
notes: [
{
card_id: 1,
note_id: 1,
name: "John Doe"
created_at: null,
updated_at: null
},
{
card_id: 1,
note_id: 2,
name: "Jane Doe"
created_at: null,
updated_at: null
}
]
}
Спасибо за любые предложения!