find() get()查询单条数据的区别---ThinkPHP
2018-12-13 本文已影响0人
思议岁月
查询分为两种方式,一种采用的Db方式(use think\Db;)一种是模型方式。
1.查询
1查询单条
$tag=model("Tag")->get($id);//仅查出单条记录,传人‘1,2,3’或【1,2】只会查出1
$tag=Tag::find($id);
$tag=Tag::where(['is_show'=>0,'id'=>4])->find();
$tag=Tag::where('is_show','=','0')->find();
$tag=Tag::where('is_show=0')->find();
报错$tag=Tag::where(['is_show'=>0,'id'=>4])->get();
$tag=Db::table('tags')->find($id);
$tag=Db::table('tags')->get($id);
$tag=Db::table('tags')->find(['id'=>1]);
$tag=Db::table('tags')->get(['is_show'=>0]);
小结:
通过find()查询数据时,除非语法错误,通常情况下不会报错,find查询数据方式更加的丰富,多样。
通过get查询数据,语法十分严苛,若get()内不带任何错误则会抛出,find()则不会报错
类型错误: Too few arguments to function think\db\Query::get(), 0 passed and at least 1 expected
当get()/find()查询时未在数据库中查询到结果时,均会返回null
get()方式查询仅仅支持带参数查询,使用where()不生效