php - 如何使用准备好的语句与 excel 导入数据 n Laravel
问题描述
我的问题是关于最佳实践。我有三张桌子:
- 用户(ID、NAME)
- 卡片(ID、号码)
- User_cards (USER_ID, CARD_ID)
我还有一个带有表单的页面,我可以在其中导入带有数据的 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
解决方案
推荐阅读
- javascript - 在 node.js 服务器上使用 socket.io,是持续发出数据还是允许客户端计算给定时间戳会更好?
- makefile - Makefile,转换文件名以折叠文件树结构
- ios - 试图删除未注册的 UserDefaults 观察者 Swift
- python - 选择 Pandas 中符合某些条件的所有连续数据行?
- ruby - 如何在没有 Ruby 的情况下使用 SOAP
- google-chrome - webAPK 的更新如何在更改 manifest.json 服务于同一来源时发生?
- java - 无法显示来自与小部件链接的图像
- excel - 用于查找和删除行的 For 循环
- javascript - Javascript中是否有用于数组的padEnd?
- r - 使用R在文件夹中按行随机采样多个数据帧