boaPHP开发手册v5.5

构造查询

使用构造器来构造SQL语句(相当于原生查询的替代,但没原生查询灵活),一定要以table()方法开始,以查询动作结束

查询动作

主要支持以下5个动作:

  • 增:insert()
  • 删:delete()
  • 改:update()
  • 查:select()
  • 查:find(),单条记录

$db = boa::db();
$data = ['title'=>'Title', 'content'=>'Content'];

$res = $db->table('news')->insert($data); // 插入
$res = $db->table('news')->where('id = ?', $id)->delete(); // 删除
$res = $db->table('news')->where('id = ?', $id)->update($data); // 更新

$arr = $db->table('news A')
->field('A.*, B.category AS cat, COUNT(C.*) total')
->join('category B', 'A.cid = B.id')
->join('tag C', 'A.id = C.pid')
->where('A.cid = ? AND A.status = ?', $cid, $status)
->limit(50, 10)
->order('A.sort ASC, A.id DESC')
->select(); // 查询

$arr = $db->table('news')->where('id = ?', $id)->find(); // 单条查询

查询属性

可以通过distinct()、field()等方法设置SQL相应属性

更多方法参见 builder类

子查询


$db = boa::db();
$sql = $db->table('news')->field('id')->where('id < ?', $id)->getsql()->select(); // getsql()方法返回SQL语句
$arr = $db->table('test')->where("pid IN ($sql)")->select();