首页 > 解决方案 > 如何使用准备好的语句与 excel 导入数据 n Laravel

问题描述

我的问题是关于最佳实践。我有三张桌子:

我还有一个带有表单的页面,我可以在其中导入带有数据的 excel 文件。Excel的结构是:

-------------------------------
| Users's name |  Card number |
-------------------------------
| User A       |  12345       |
-------------------------------
| User B       |  67889       |
-------------------------------

我想填写我的第三张表User_cards

问题是:我如何检查数据库中存在的用户和卡?

当然,我知道我可以通过以下方式做到这一点:

// check user exists
$user = User::where('name', $userName)->first();

// check card exists
$card = Card::where('number', $cardNumber)->first();

但这对于服务器来说看起来并不好,因为代码没有任何优化就可以工作。那么,可以在 Excel 循环中使用 Prepared 语句,如下所示:

$statement = $me->getPdo()->prepare($query);

或者您可以向我推荐另一种更好的方法来实现这些检查?

我在没有任何准备好的声明的情况下实现了我的目标,但我认为存在更优雅的方式来做到这一点。我正在使用 Laravel 5.4 和 Laravel Excel ( https://laravel-excel.com/ )。MySQL 5.0.11

标签: phpexcellaravelimportprepared-statement

解决方案


推荐阅读