讨论数量:
@leo 加了 query 是为了让 IDE 更好找方法,因为query不是魔术方法实现的。 static 的 where、whereIn 这些都是魔术方法实现的,我建议加 query ,因为最终 eloquent 也会在经过 n 多魔术方法后调用这个函数。
query 的源码是
public static function query()
{
return (new static)->newQuery();
}
得到的是一个 子类 Model 实例。
如果依赖静态调用。它需要 经过 callStatic -> call -> ...-> newQuery 才能调用
关于性能上面有什么区别吗?个人认为直接调用得到 newQuery 实例。会比绕一圈后得到实例更快一点。虽然有的时候基本可以忽略不记这一点点性能损耗。
不加也可以,加
query()
是为了配合 laravel-ide-helper 做代码提示