【发布时间】:2019-04-21 01:29:45
【问题描述】:
我使用 Laravel 和 eclipse 作为我的 IDE。我正在使用 laravel-ide-helper 包进行自动补全。
我正在从一个雄辩的模型对象调用方法。
当我输入时
User::find
eclipse 为我提供了:
find($id, $columns) : \Illuminate\Database\Eloquent\Model.
这意味着“find”方法返回一个 \Illuminate\Database\Eloquent\Model 实例。
但是,当我输入
User::where
eclipse 为我提供了以下内容:
where($column, $operator, $value, $boolean) : $this
表示函数“where”返回
$this
现在,我真的不知道 $this 是什么意思,因为据我了解,“哪里”应该返回一个查询构建器实例。据我所知, $this 表示方法的对象调用者(在此上下文中,用户模型本身)。但它显然没有返回模型。我怀疑我不明白 $this 在这种情况下的含义。
我错过了什么?
【问题讨论】:
-
在这种情况下,
$this是查询生成器。查看Laravel Queries 文档。 -
@Stephen Lake 好吧。但是,通知我特定方法将返回什么对象不是 ide 和自动完成的工作吗?奇怪的是 find 之类的方法,eclipse 说它返回Illuminate\database\eloquent\Model。为什么只有 $this 在哪里?
-
我无法回答这个问题,我不使用第三方自动完成包,但我觉得它不够智能,无法为您提供这些信息。虽然......查询构建器类型也是模型实例,所以返回本身确实有意义,但最好你谷歌搜索更多关于查询构建器和模型继承的信息,因为这需要一段时间详细说明。
标签: php eclipse laravel laravel-5 autocomplete