关于isEmpty() 的问题
来源:11-3 使用ES6构建面向对象的JS代码及访问服务器API获取数据
轩辕小齐V
2017-08-01
请问
1.$categories= categoryModel::all([],'img'); 这里使用all方法;
2. $banner=self::with(['items','items.img'])->find($id); 这里使用 with 后;
这些地方为啥返回的都不是collection 对象?以至于isEmpty()不能使用?
附:代码一点一点对的 没有问题 模型也继承了BaseModel
这里试着用断点 得出:Product 中返回的是collection 对象;
但是Banner 中返回的是 model 对象;
3.这是为啥?难道是因为 all方法 与with 使用后就不在是collection对象了?那他们是什么对象?
4.如果此时应该如何判空呢?
我实在是搜不到答案才问的,麻烦大家指教下;
2回答
-
正在改bug的小白
2018-10-24
在tp5里面追后的查询命令只有是select 返回的才是一个数据集 才附带了 isEmpty()方法,如果是find 和get 查询的是单个数据, 所以返回的不是一个数据集 而是一个model 对象 他没有isEmpty方法。
find ,get 方法是返回的是model对象是无isEmpty方法的
我用all方法的时候虽然编译器显示不存在isEmpty()方法 但是调试的时候确实是一个collection 数据集,我也不知道为什么。
这个想问问七月老师
10 -
YTL003
2017-08-25
我记得好像模型的返回值你设置成了数据集而返回的数据是单个数据而不是一组数据那么它一样返回的是一个模型对象。你可以尝试进入调试看一下。
00
相似问题