更多的情况下我们都是查询某些字段,但有些情况下面我们需要通过字段排除来更方便的查询字段,例如文章详细页,
我们可能只需要排除status和update_time字段,这样就不需要写一堆的字段名称了(有些人可能觉得为什么不用“*”查询全部字段呢,不是更方便吗,但是有一点不可否认,即使列出所有字段也比查询所有字段的效率要高哦^_^),
而新版的Model类的field方法可以支持排除(NOT)机制, 举个例子,例如我们有一个article表,定义了有id,name,title,status,create_time,read_count,comment_count字段,当使用普通的字段查询 $Model->field('id,name')->select(); 这是我们比较常用的查询字段方式,表示查询id,name字段 。 生成的SQL语句应该是SELECT id,name FROM article
当使用下面的字段排除方式查询的时候 $Model->field('create_time,read_count,comment_count',true); 第二个参数表示field方法采用的是排除机制,因此实际查询的字段是除create_time,read_count,comment_count之外的其他数据表所有字段,最终要查询的字段根据实际的数据表字段有所不同。 生成的SQL语句就变成了SELECT id,name,title,status FROM article