Laravel elongent all()检索方法不返回数据

ffx8fchx  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(89)

我正在尝试使用Post::all()从数据库表中获取所有记录。奇怪的是,它给了我一个500的错误。
如果我使用像Post::where('id', 1)->get()这样where子句,它就可以正常工作。我查了错误日志,但没有任何记录

dwthyt8l

dwthyt8l1#

看起来运行Foo::all()Foo::get()可能会遇到内存限制问题。不建议从表中获取所有记录,除非该表是受控的并且只包含很少的记录
在运行allget函数之后/之前,始终可以重新定义查询
一个all()调用将返回一个集合,在那里你可以在收集数据后进行过滤,而get()将要求你在执行之前指定过滤,就像在SQL级别上完成的那样。
范例:

$exampleOne = Foo::where('bar', 1)->get(); //query builder
$exampleTwo = Foo::all()->where('bar', 1); //Laravel collection
mccptt67

mccptt672#

当你想从模型中获取所有数据时,你必须使用get()函数:

Posts::get();
r7s23pms

r7s23pms3#

如果你想得到所有的数据,并得到错误的代码Posts::all()
你可以使用get函数:
Posts::get();
DB::table('posts')->get();
你可以在终端写命令
php artisan optimize:clear

相关问题