rka*_*yan 8 php mysql laravel eloquent laravel-4
如何在Laravel Eloquent中执行以下查询?
SELECT catID, catName, imgPath FROM categories WHERE catType = "Root"
Run Code Online (Sandbox Code Playgroud)
我试过以下
CategoryModel::where('catType', '=', 'Root')
->lists('catName', 'catID', 'imgPath');
Run Code Online (Sandbox Code Playgroud)
但它只返回两个字段.
Array ( [7] => Category 1 )
Run Code Online (Sandbox Code Playgroud)
luk*_*ter 23
lists()将生成的集合转换为具有键值的数组.您只能有两个数据库列.否则你必须使用select()但是你会得到一个模型集合而不仅仅是一个数组.
$categories = CategoryModel::select('catID', 'catName', 'imgPath')
->where('catType', '=', 'Root')
->get();
Run Code Online (Sandbox Code Playgroud)
选择多列
CategoryModel::get(['catName', 'catID', 'imgPath']);
Run Code Online (Sandbox Code Playgroud)
也适用于 Laravel 5.3!
如果您想获取某些列,那么您可以使用两种方法之一get()或all()
但两者的语法不同,get()方法采用array作为参数,all()方法采用string或array两者作为参数:
Model::all('field1','field2')作为string参数
CategoryModel::all('catName', 'catID', 'imgPath')->where('catType','Root');
Run Code Online (Sandbox Code Playgroud)
Model::all(['field1','field2'])作为array参数
CategoryModel::all(['catName', 'catID', 'imgPath'])->where('catType','Root');
Run Code Online (Sandbox Code Playgroud)
模型::get(['field1','field2'])
CategoryModel::get(['catName', 'catID', 'imgPath'])->where('catType','Root');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39388 次 |
| 最近记录: |