【问题标题】:How to fetch all row data from database using Laravel 8如何使用 Laravel 8 从数据库中获取所有行数据
【发布时间】:2022-01-14 01:15:39
【问题描述】:

我在数据库中有记录,特定列中有三个不同的记录。我正在尝试使用 Laravel 获取所有记录,但是在尝试了多种方法后我没有得到正确的结果,并且每种方法只获取一条记录。如果我能得到帮助并从我做错的事情中吸取教训,我会很高兴。先感谢您。 下面是代码:

public function setBill()
{
    //With the below, I am getting only one record
    $FetchData = Students::all();
    foreach ($FetchData as $Data) {
        dd($Data->class);
    }
    //With this too, I am getting only one record
    $FetchData = Students::get();
    foreach ($FetchData as $Data) {
        dd($Data->class);
    }
    //With this as well, I am getting only one record
    $FetchData = DB::select('select * from students');
    foreach ($FetchData as $Data) {
        dd($Data->class);
    }
}

【问题讨论】:

  • 第一次调用 dd 时脚本会死掉(“转储和死”)...如果您不想结束脚本,可以改用 dump
  • dum 和 echo 都显示所有记录,但我试图更新表中的列,但列中的所有数据都更新了,只获取了一条记录。我在更新中使用了它。 $UpdateStudent = Students::query()->update([ 'term'=>$Term, 'bill_id'=>$Fetch->bill_id ]);
  • 这将更新整个表,因为没有条件更新哪些记录
  • Students::all() 将从您的database 中获取所有行,尝试count 它,dd(count($FetchData))
  • 你用的是什么数据库?,你能告诉我们你的Model

标签: mysql laravel


【解决方案1】:

正在发生的事情是dd() 正在停止您的脚本执行(转储并死掉)。 如果您想查看所有获取的记录,您应该这样做

$FetchData = Students::all();
dd($FetchData);

否则,如果您想逐个转储一条记录

$FetchData = Students::get();
foreach ($FetchData as $Data) {
     dump($Data->class);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 2014-09-24
    • 2017-11-04
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多