1.查询一条记录:
Db::table('user')
->where('name',$name)
->find();
2.查询多条记录:
Db::table('user')->where('name','like','%$name%')->select();
3.查询一个字段:
查询id为$id的用户的名字:
Db::table('user') ->where('id',$id) ->value('name');
4.where多条件查询:
and与查询:
Db::table('user')
->where('name','like',"%".$name."%")
->where('is_del',0)
->select();
or或查询:
Db::table('user')
->where('name','like',"%".$keywords."%")
->whereor('is_del',0)
->select();
5.更新某一个字段:
将id为$id的用户改为删除状态:
Db::table('user')
->where('id',$id)
->setField('is_del','1');
6.更新多个字段:
$map=[
'name'=>$data['name'],
'password'=>$data['password'],
'sex'=>$data['sex'],
'phone'=>$data['mobile'],
'email'=>$data['email'],
'address'=>$data['address']
Db::table('user')->update($map);//插入新纪录只需将update改为insert即可。
7.对于某字段做加减:
将姓名为$name的用户年龄+1:
Db::table('user')->where('name', $name)->setInc('age', 1);
将姓名为$name的用户年龄-1:
Db::table('user')->where('name', $name)->setDec('age', 1);
8.分组查询:
分组查询学生的组别:
Db::table('student')
->group('depart')
->column('depart');
9.排序:
Db::table('user')
->order('age')//年龄升序查询
10.多表查询
THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例:
联合查询
1、原生查询
$sql = 'select f.*,s.sort_name from think_form as f, think_sort as s where f.sort_id=s.sort_id order by f.id DESC limit 3';
$list = $Form->query($sql);
2、join() 两表查询
$list = $Form->join('think_sort ON think_form.sort_id = think_sort.sort_id' )->select();
3、join() 多表查询
$list = $Form->join('think_sort ON think_form.sort_id = think_sort.sort_id' )->join('think_brand ON think_form.brand_id = think_brand.brand_id' )->select();
4、table()
$list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.display as display, profile.title as title,profile.content as content')->order('stats.id desc' )->select();
网友评论