php - 如何在 laravel 中优化数据库中的多值查询
问题描述
我是 laravel 的新手,使用简单的命令从数据库中查询。我正在尝试从具有相同 ID 的数据库中获取多个值。
$id = 'P01';
//Get value from database
$fruitname = DB::table('fruits')->where('id', $id)->value('fruitname');
$fruitcolour = DB::table('fruits')->where('id', $id)->value('fruitcolour');
$fruitshape = DB::table('fruits')->where('id', $id)->value('fruitshape');
$updatedat = DB::table('fruits')->where('id', $id)->value('updated_at');
$data = array(
'fruitname' => $fruitname,
'fruitcolour' => $fruitcolour,
'fruitshape' => $fruitshape,
'updated_at' => $updatedat
);
结果,$data
可以存储值。但我发现完成这个过程需要时间。有什么方法可以优化流程吗?
解决方案
我不确定你为什么要让它变得更难,但在这种情况下你可以简单地使用 eloquent:
如果您已经创建了必要的模型并将其添加到您的控制器中:
use App\Fruits;
只需简单地在find
方法中使用它:
public function someMethodName()
{
$id = 'P01';
$fruit = Fruits::find($id);
echo $fruit->fruitname; // and others
}
推荐阅读
- dbeaver - 在 DBeaver 中,如何从两个不同的连接运行 SQL 联合查询..?
- jmeter - JMeter 无法使 GET HTTP 请求工作,在 PostMan 中工作正常
- javascript - Angular 2+ HttpClient 响应 Typescript 类型
- logging - 如何获取活页夹会话的构建日志
- mysql - MySql - 如何禁止使用 utf8_bin 排序规则的唯一区别是大小写的重复条目?
- c# - ReactiveUI 中使用 TestScheduler 的异步方法死锁
- asp.net - 我需要一行代码来根据星期几更新网页上的文本
- javascript - 如何在 ReactJS 中将图像从一个组件发送到另一个组件
- .net - TypeInitializationExceptions 如何以及为什么会在 linux 上使 dotnet 崩溃,我该如何防御性地防止这种情况发生?
- outlook - 我可以缩小 Office365 下 Outlook 使用的 SPF 范围吗?