数据查询Fetch
可使用的方法有:get()
,first()
,value()
,column()
,find()
查询多条数据Get方法
这个方法成功返回二维数组,失败返回空数组,如果你需要其它格式,可以通过可使用方法:toArray()
, toObject()
, toJson()
$products = $db->get('products');
foreach ($products as $product) {
echo $product['name'];
}
get()
get('products')
你可以通过链式方法来查询:
$query = $db->select('id, name, code, price, stock')
->table('products')
->between('price', 900, 1500)
->grouped( function($q) {
$q->like(['code', 'name'], '%iphone%')
->orWhere('featured', 1);
})
->in('categoryId', [1, 2, 3, 4, 5, 6])
->order('price')
->get();
上面的查询相当于下面的sql语句:
SELECT
id, name, code, price, stock
FROM
products
WHERE
price BETWEEN ? AND ?
AND ((name LIKE ? OR code LIKE ?) OR featured=?)
AND categoryId IN(?,?,?,?,?,?)
ORDER BY
price DESC
toObject()
这个方法用于获取对象的数据格式Object
$products = $db->table('products')
->toObject()
->get();
foreach ($products as $product) {
echo $product->name;
}
toJson()
这个方法可以获取json的数据格式
$products = $db->table('products')
->toJson()
->get();
获取单条数据 First
成功返回一维数据,失败返回false
$user = $db->table('users')
->first();
echo $user['email'];
获取单一数值 Value
成功返回字段值对应的数值,失败返回false, 这个方法可以从一条数据中获取到单一字段的值
$email = $db->table('users')
->where('name', 'Walter')
->value('email');
echo $email;
按字段提取列数据column
$column = $db->table('products')
->column('name');
Array
(
[0] => Apple Iphone X 128 GB
[1] => Apple Iphone X 256 GB
[2] => Apple Iphone X 512 GB
)
column()方法中,可以通过第二个参数,来指定字段作为键值:
$column = $db->table('products')
->column('name', 'code');
Array
(
[APPLEX128] => Apple Iphone X 128 GB
[APPLEX256] => Apple Iphone X 256 GB
[APPLEX512] => Apple Iphone X 512 GB
)
Find方法
按主键来查询数据.
$user = $db->table('users')
->find(15);
echo $user['name'];
//SELECT * FROM users WHERE id=15
find(15)
find(15, 'products')
总数Total
返回查询的数据条数.
$total = $db->table('users')
->where('userGroup', 'Admin')
->total();
total()
total('users')
影响行数rowCount()
返回数据影响条数.
echo $db->rowCount();
最新插入的id号lastInsertId()
使用此方法,当插入数据后,可以查询最后插入的数据主键值(比如id值)
echo $db->lastInsertId();