Laravel中对数据库的连贯操作叫做 查询构造器,我本人是比较推荐使用查询构造器的,方便易读好交接,而且可以使用tp的思想进行操作
例子如下
$map['aggratepage_game_statistic.channel'] = $channel;
$data = DB::table('a')
->leftJoin('b','a.ad_id','=','b.task_id')
->where($map)
->whereBetween('a.date',[$startTime,$endTime])
->select('a.*','b.task_name')
->paginate($row);
具体使用上跟TP5很相似只不过需要注意的是Laravel的select 就是TP的field,使用了一周Laravel 我至今觉得TP5的Db类使用方便程度上略胜Laravel,TP5的page简直就是碾压Laravel!
切入正题
Laravel DB类取出的数据都是对象
LengthAwarePaginator{#460 ▼ #total: 2 #lastPage: 1 #items:Collection{#458 ▼ #items: array:2 [▼ 0 => {#454 ▼ +"date": "2018-09-18" +"channel": "123" +"haha_id": 1 } ] } #perPage: 10 #currentPage: 1 #path: "http://localhost/youzhuan/public/Admin/Statistics" #query: [] #fragment: null #pageName: "page"}
这种对象内是否有数据是不能用!来分辨的,如果你想判断这个对象中是否有数据可使用
if($data->count()){ }
来进行判断,如果想获取数据可以使用
$data->items();这样获取出来的数据还是对象
如果你想在使用中直接在查询中就获取到$data->items()这样的对象的话 你可以在连贯操作后加->toArray();
你在使用Laravel中会发现数据库取出来的都是对象,真的超级难用,至少我是这么觉得的,我还是觉得从数据库取出来的直接就是数组比较爽
本文为王思彤原创文章,转载无需和我联系,但请注明来自王思彤博客wangsitong.com
白色彩虹:test
2018-09-26 17:05:28 回复