如何使用 laravel 在控制器内获取数据

Posted

技术标签:

【中文标题】如何使用 laravel 在控制器内获取数据【英文标题】:How do i fetch data inside a controller using laravel 【发布时间】:2021-02-11 06:52:05 【问题描述】:

我刚开始学习 laravel。

我不知道如何在控制器中获取数据, 我想在控制器中使用该数据来制定更多规则。

  //Get Data From Database
    $db = DonorDetail::where('donation_id', $paytmResponse['ORDERID'])->get();

    $name     = $db['donor_name'];
    $email_id = $db['email_id'];

DonorDetail 是我连接数据库的模型。

我试过这段代码,但得到未定义的错误。

我正在尝试使用唯一的 donation_id 仅选择 1 行,并使用我的控制器内其他数据列的数据。

【问题讨论】:

您看到了什么确切的错误? 未定义索引:donor_name get 将返回一个集合,而不是单个模型 【参考方案1】:

您可以使用 dd() 查看数据。

dd($db);

但是,如果您只想获取第一个匹配的数据,请使用以下

$db = DonorDetail::where('donation_id', $paytmResponse['ORDERID'])->first();
$name     = $db->donor_name;
$email_id = $db->email_id;

【讨论】:

【参考方案2】:

get 返回一个集合。您应该使用 first 从查询中获取第一个结果:

DonorDetail::where('donation_id', $paytmResponse['ORDERID'])->first();

如果没有找到结果,会返回null,所以你也要注意。

您只向我们提供了一小部分代码,但您似乎正在以非 Laravel 的方式做很多事情。这是很自然的,因为正如您所提到的,您只是从 Laravel 开始。我给你的建议是查看 Laracast 的免费“Laravel From Scratch”课程: https://laracasts.com/series/laravel-6-from-scratch

这是迄今为止开发人员在 Laravel 中迈出第一步的最佳资源(它也为有经验的开发人员提供了很好的资源)。

祝你好运!

【讨论】:

以上是关于如何使用 laravel 在控制器内获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ajax 将数据传递给控制器​​并相应地查看数据

如何从 Laravel 日期范围内未创建的数据库中获取记录?

laravel在中间件内生成的变量如何传到控制器

如何在 laravel 中使用 foreach 从 json 文件中获取所有数据?

如何从多个控制器获取数据到 Laravel Blade 视图中?

如何获取用户选择的按钮值并在 laravel 5.4 的控制器上使用它