答案 1
User::all()
并且会做同样的事情。User::get()
all()
是 上的静态方法。它所要做的就是创建一个新的查询对象并调用它。使用 ,则根本无法修改执行的查询(除了可以通过将列作为参数传递来选择要选择的列)。Eloquent\Model
get()
all()
get()
是对象上的方法。如果需要修改查询,例如添加 where 子句,则必须使用 .例如。Eloquent\Builder
get()
User::where('name', 'David')->get();
答案 2
为了进一步阐明为什么这有效,这是因为 Model 类中有一个神奇的方法,它将接受任何未定义的静态调用,创建一个实例,然后在实例上为您调用该方法。
你可以在这里的源代码中看到它:https://github.com/laravel/framework/blob/5.6/src/Illuminate/Database/Eloquent/Model.php(第1580行)
这一集《拉拉卡斯特》中也有解释:https://laracasts.com/series/advanced-eloquent/episodes/3(需要订阅)
当我第一次遇到这个时,我也感到困惑,并且找不到静态方法。但后来我想起了Laracast的那一集,它帮助我把这些点连接起来。get()
推荐
-
相当于Java中PHP的crypt函数 我正在将我的PHP代码迁移到Google App Engine - Java。因此,我需要一个相当于Java中PHP的crypt函数,因为我已将使用crypt的注册用户的所有密码存储在我的数据库中。 编辑1:这是我用于加密密码的php
-
需要有关如何从接受语言请求标头获取首选语言的示例 我需要一个代码示例或库来解析标头并返回我的首选语言。 指出: “接受语言请求标头”字段类似于“接受”,但限制首选作为请求响应的自然语言集。语言标记在第 3.10 节中定义。
-
无法在 Java 和 PHP 之间交换使用 AES-256 加密的数据 我的问题是:我在Java中加密的东西,我可以在Java中完全解密,但PHP不能解密。我用加密的内容可以使用 解密,但不能在 Java 中解密。 我想从Java应用程序发送和接收加密数据到PHP页面,所以我
-
-
Quercus是Java环境中PHP的可行替代品吗? 对于任何偶然发现这个问题的人,他们不知道是什么 - 它是用Java完成的PHP的实现。 对于我目前正在从事的项目,我们通过cgi在servlet上提供php页面(我知道它很笨拙,但这是支持遗留代码的要求
标签