预加载不会 return 任何东西

Eager loading does not return anything

当我像这样急切加载时:

 return Port::filter($filters)
            ->with(['scores' => function ($query) {
                    $query->select(["*"]);
                }]
            )
            ->actives()
            ->paginate(14);

我得到了预期的结果。但是,当我 select 特定列名时:

 return Port::filter($filters)
            ->with(['scores' => function ($query) {
                    $query->select(["id, name"]);
                }]
            )
            ->actives()
            ->paginate(14);

结果总是 []。这里可能有什么问题?

在select中我们需要传递以逗号分隔的列名

 return Port::filter($filters)
        ->with(['scores' => function ($query) {
                $query->select("id", "name");
            }]
        )
        ->actives()
        ->paginate(14);

我们也可以在列名外使用 [ ],用逗号分隔,如下所示。

 return Port::filter($filters)
        ->with(['scores' => function ($query) {
                $query->select(['id','name']);
            }]
        )
        ->actives()
        ->paginate(14);