laravel Model中查询使用自定义方法的坑

今天遇到一个问题,需要将查询出来的数据做一些处理也存入elasticsearch里,在model中自定义了一个方法。但使用get()后无法使用提示 BadMethodCallException

。后来才想到,原来get()返回的是一个集合,不是一个对象。

网上大多例子都使用User::find()->func()的方式,但是我用get()时,Laravel一直以上报错。

需要注意:

    User::where()返回的是QueryBuilder类型,当调用first()返回对象get()返回的是Collection类型。要调用model里的函数需要在对象上调用,即跟在first()或者find()后面

原文地址:https://www.cnblogs.com/fogwang/p/12504299.html