У меня есть доска объявлений под названием «Объявления», которая находится на доске под названием «Важная информация», в которой она находится в «Штаб-квартире». Вот визуальное представление этого.
Штаб-квартира (Главный совет без родителей) [id = 1, parent_id = null]
↳ Важная информация (1-й ребенок в «Штаб-квартире») [id = 2, parent_id = 1]
↳ Объявления (1-й ребенок доска «Важная информация») [id = 3, parent_id = 2]
Моя цель - получить все родительские платы "Объявления" в модели Laravel.
Я уже создал функцию, которая получает одну родительскую плату.
public function parent()
{
return $this->where('id', $this->parent_id)->first();
}
Если бы вы использовали эту функцию для доски объявлений, она выдала бы результаты «Важной информации». "board, потому что это родительский элемент" Announcements ".
Итак, предположим, я должен был создать функцию listAllParents ()
public function listAllParents()
{
// code here
}
Эта функция будет возвращать результаты всех связанных родителей с указанной платой. Поэтому, если бы я использовал эту функцию в «Объявлениях», я бы хотел, чтобы все родители, связанные с ней, были возвращены.
Вот небольшой пример кода:
$board = Board::where('name', 'Announcements')->first();
$getAllParents = $board->listAllParents()->get();
return $getAllParents;
И что в случае будет возвращен список родительских плат «Объявления», который будет: «Важная информация» и «Штаб-квартира». Какой код должен go в функцию listAllParents (), чтобы сделать это возможным?
Если вам нужно более подробное объяснение, пожалуйста, дайте мне знать. Я буду более чем рад помочь.
Большое спасибо за вашу помощь.