1. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Laravel recursive Category list with checkbox

Discussão em 'Outras Linguagens' iniciado por Fzol, Outubro 9, 2024 às 07:12.

  1. Fzol

    Fzol Guest

    How can I query the categories so that the parent and its related children are displayed in a single row?

    Example datatbase:

    id parent_id name
    1 0 Category
    2 1 subCat 1
    3 2 subsubCat 1
    4 0 Category 2
    5 3 subCat 2


    Code:

    public static function getCategories($categories, &$result, $parent_id = 0)
    {
    $cats = $categories->filter(function ($item) use ($parent_id) {
    return $item->parent_id == $parent_id;
    });

    foreach ($cats as $cat)
    {
    $result[$cat->id] = $cat->name;
    self::getCategories($categories, $result, $cat->id);
    }

    return $result;
    }

    public static function index()
    {
    $categories = PropertyCategory::select('id', 'parent_id', 'name')->get();
    $result = [];
    return self::getCategories($categories, $result);
    }


    Example list (This is the layout I would like to achieve):

    <div>
    <input type="checkbox" name="scales" value="3" />
    <label for="scales">Category -> subCat 1 -> subsubCat 1</label>
    </div>

    <div>
    <input type="checkbox" name="scales" value="5" />
    <label for="scales">Category 2 -> subCat 2</label>
    </div>

    Continue reading...

Compartilhe esta Página