find() get()查询单条数据的区别---ThinkPHP5(TP5)对数据库操作

查询分为两种方式,一种采用的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()不生效

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容