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()不生效

上一篇下一篇

猜你喜欢

热点阅读