Giter VIP home page Giter VIP logo

Comments (8)

axguowen avatar axguowen commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。
所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

from think-orm.

yuyachong avatar yuyachong commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。 所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

你没懂我的意思,我的意思是像select可以返回数组对象, find也一样返回, 就不要null了, 有些场景需要同步,反而觉得不统一

from think-orm.

yuyachong avatar yuyachong commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。 所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

当然find有个findOrEmpty方法, 我就觉得 直接用这个方法返回就行, 干嘛非要来个null? 不解

如果能统一, 像是结果结果获取后的操作很会统一舒服, append/hidden这些, 那如果按现在这样,我还要判断一下是不是null, 如果按select来根本不需要判断数组是不是空

from think-orm.

axguowen avatar axguowen commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。 所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

当然find有个findOrEmpty方法, 我就觉得 直接用这个方法返回就行, 干嘛非要来个null? 不解

如果能统一, 像是结果结果获取后的操作很会统一舒服, append/hidden这些, 那如果按现在这样,我还要判断一下是不是null, 如果按select来根本不需要判断数组是不是空

那append/hidden就可以给这个空对象追加/隐藏数据了,但是这个数据在数据库中是不存在的,那别的比如save/delete方法是不是会报错?会导致程序更加容易出现问题的,排查问题起来也非常麻烦

from think-orm.

yuyachong avatar yuyachong commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。 所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

当然find有个findOrEmpty方法, 我就觉得 直接用这个方法返回就行, 干嘛非要来个null? 不解
如果能统一, 像是结果结果获取后的操作很会统一舒服, append/hidden这些, 那如果按现在这样,我还要判断一下是不是null, 如果按select来根本不需要判断数组是不是空

那append/hidden就可以给这个空对象追加/隐藏数据了,但是这个数据在数据库中是不存在的,那别的比如save/delete方法是不是会报错?会导致程序更加容易出现问题的,排查问题起来也非常麻烦

你的思维不要陷入一个死循环好不好? 我在讨论框架逻辑, 你在说业务流程, 你能明白我在说什么吗
在append之前,框架对于空数据就跳过了! select不就这么干的吗?

from think-orm.

yuyachong avatar yuyachong commented on August 26, 2024

find为空时本身就返回的null,你在null上面执行hidden方法肯定会报错,select为空是返回的一个空的数据集对象,这个数据集对象是有hidden方法的,只是执行之后会遍历数据集里面的对象依次执行hidden方法,数据集为空也就没有遍历 当然不会报错。 所以在find方法后需要自行判断是否为null,或者使用try catch捕获异常

当然find有个findOrEmpty方法, 我就觉得 直接用这个方法返回就行, 干嘛非要来个null? 不解
如果能统一, 像是结果结果获取后的操作很会统一舒服, append/hidden这些, 那如果按现在这样,我还要判断一下是不是null, 如果按select来根本不需要判断数组是不是空

那append/hidden就可以给这个空对象追加/隐藏数据了,但是这个数据在数据库中是不存在的,那别的比如save/delete方法是不是会报错?会导致程序更加容易出现问题的,排查问题起来也非常麻烦

你的思维不要陷入一个死循环好不好? 我在讨论框架逻辑, 你在说业务流程, 你能明白我在说什么吗 在append之前,框架对于空数据就跳过了! select不就这么干的吗?

本身append/each这类方法就是对获取数据之后进行后操作,所以没数据 也就到不了这些方法这里

from think-orm.

axguowen avatar axguowen commented on August 26, 2024

你需要在业务上使用select代替find方法····

from think-orm.

yuyachong avatar yuyachong commented on August 26, 2024

你需要在业务上使用select代替find方法····

好了, 到此为止, 咱俩交流结束, 谈论的不是一个层面

from think-orm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.