渴望加载不会返回任何内容

时间:2018-09-07 10:34:14

标签: php laravel eager-loading

当我渴望这样加载时:

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

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

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

结果始终为[]。这有什么问题吗?

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:0)

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

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