Skip to content

FixTree should allow selecting extra columns #501

Open
@walkingCommiter

Description

@walkingCommiter

What happens:
In QueryBuilder:fixTree() method there is a section where the code is choosing the "to be selected" columns. This line raises an issue for us since our Entity requires an extra column to be selected or else the fix tree will fail when trying to load nodes in the next lines.

 public function fixTree($root = null)
    {
        $columns = [
            $this->model->getKeyName(),
            $this->model->getParentIdName(),
            $this->model->getLftName(),
            $this->model->getRgtName(),
            'cloud_id', // <--- our model needs this  cloud id to be properly loaded in case of passive caching
        ];

Expected Behavior:
The solution is rather simple. Just allow selecting extra columns as optional. No extra change is needed:

Here is the solution:

    public function fixTree($root = null, array $extra = [])
    {
        $columns = [
            $this->model->getKeyName(),
            $this->model->getParentIdName(),
            $this->model->getLftName(),
            $this->model->getRgtName(),
        ] + $extra;

This would solve our issue and possibly any other code that has multiple clouds.

Thanks.
cc: @pultho

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions