Thinkphp6---查询返回
在做Thinkphp开发的时候,对于查询结果返回,很多时候在写逻辑的时候,都会犹豫一下下,下面就做一个整理:
一、find查询
$result = Order::where('id',$id)->find(); $result = Order::find($id);
这里 find 如果查询到就返回查询到的对象,如果没有查询到返回【null】
如果我们需要数组,可以这样写:
$result = Order::where($where)->find(); return $result ? $result->toArray() : null;
但是不能这样:
$result = Order::where($where)->find()->toArray();
因为【find】如果没有查询到,返回的是【null】,而 NULL 是没有办法 toArray() 的。
如果查询不存在返回空对象,可以使用【findOrEmpty】
Order::where($where)->findOrEmpty();
这里如果没有查询到返回的就是空对象,就可以使用 toArray():
Order::where($where)->findOrEmpty()->toArray();
如果没有查询到希望抛异常,可以使用【findOrFail】
Order::where($where)->findOrFail();
二、select 查询列表
$result = Order::where('status',1)->select(); $result = Order::select();
select查询查询返回的是对象,如果需要转为数组可以直接 toArray()
$result = Order::where('status',1)->select()->toArray(); $result = Order::select()->toArray();
没有查询到,则返回空数组。
打完收工!

浙公网安备 33010602011771号