我对Laravel和Eloquent都是新手,所以请原谅我问这样一个愚蠢的问题。 我一直在查看文档这里 和另一个教程这里(在使用Eloquent ORM创建模型部分),我注意到除非有特定的情况(例如与另一个表存在关系,或不需要进行大规模的赋值操作,或者需要从JSON输出中隐藏它们等),否则从未提到表的实际字段。
这些字段是有意省略的吗?PHP只在使用PDO执行查询并打开FETCH_OBJ
时才添加它们吗?
如果是,为什么我们不在模型中明确指定字段?这难道不能帮助我们知道有哪些字段,也帮助像PHPStorm这样的IDE显示正确的自动完成字段吗?
如果实际上需要这些字段,它们需要什么访问级别?
谢谢。
fetchObject()
一样使用它,我可以指定类名并且它会为我的特定类实例化。事实上,我正在使用PhpStorm,它似乎支持使用phpdoc标签的提示,因此这是一个良好的解决方法,以获得适当的IDE支持。 - jbxEloquent
类,它实际上是Illuminate\Database\Eloquent\Model
(在app/config/app.php
中查找别名数组,并确保将Eloquent
别名设置为您的Eloquent子类的正确FQN),并定义setRawAttributes()
以像那样运作,但这可能会比使用phpdoc标签更复杂。 - Bailey Parker