(a | b )&c 官方文档没有具体讲到,又没有太多时间来看源码.经过尝试, (a | b) and c (a or b) and c 都是可以的. 而 (a | b) &c 是不行的 (a or b)&c 也不行. ===================== 后记:上面的错了.peewee的Model.get不支持条件的or操作. and操作用逗号代替. ======= 备注:or可以写进去,但出来的东西很奇怪 and也可以连着写.出来的结果不对. -------------
Ar model 查询 参照表: CREATE TABLE tbl_user ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(128) NOT NULL, password VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL, profile TEXT ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unico
查询范围scope在model中定义,在controller中使用 namespace app\index\model; use think\Model; class User extends Model { // 查询条件为 name = 'thinkphp' ,且只查询 id 和 name两个字段 protected function scopeThinkphp($query) { $query->where('name','thinkphp')->field('id,name'); }
ActiveRecord类文档:http://www.yiiframework.com/doc/guide/1.1/en/database.ar 对于一个Model Post 有如下的4中查询方法,返回对象或者对象数组. // find the first row satisfying the specified condition // find the first row satisfying the specified condition $post=Post::model()->find