如何在Laravel Eloquent中选择某些字段?

2022-08-30 20:21:03

如何在Laravel Eloquent中进行以下查询?

SELECT catID, catName, imgPath FROM categories WHERE catType = "Root"

我已尝试以下操作

CategoryModel::where('catType', '=', 'Root')
                ->lists('catName', 'catID', 'imgPath');

但它只返回两个字段。

Array ( [7] => Category 1 )

答案 1

lists()将生成的集合转换为具有键值的数组。其中只能有两个数据库列。否则,您必须使用,但随后您将获得模型的集合,而不仅仅是数组。select()

$categories = CategoryModel::select('catID', 'catName', 'imgPath')
                           ->where('catType', '=', 'Root')
                           ->get();

答案 2

选择多列

CategoryModel::get(['catName', 'catID', 'imgPath']);

也适用于Laravel 5.3!


推荐