今天遇到一個問題,需要將查詢出來的數據做一些處理也存入elasticsearch里,在model中自定義了一個方法。但使用get()后無法使用提示 BadMethodCallException
。后來才想到,原來get()返回的是一個集合,不是一個對象。
網上大多例子都使用User::find()->func()
的方式,但是我用get()
時,Laravel一直以上報錯。
需要注意:
User::where()
返回的是QueryBuilder
類型,當調用first()
返回對象
,get()
返回的是Collection
類型。要調用model里的函數需要在對象上調用,即跟在first()
或者find()
后面