php - 如何限制 Eloquent 中的数据?拉拉维尔 5.4

标签 php mysql laravel

我正在操作一个包含超过 45,000 条记录的数据库,我需要进行更新,将数据从一个表传递到另一个表,但每次传递数据时,我的 CLI 都会停止工作。关于如何以更顺畅的方式操作这些数据有什么建议吗?我看到一些文章谈论使用偏移量,但我无法将其应用到我的案例中。

    $erp = Product::all();
    OCProduct::where('product_id', '!=', 0)
        ->update(['model' => $erp->erp_model]);

最佳答案

我相信您的代码有问题。 $erp 将是一个 Collection,因此它不会包含 erp_model 属性。您必须遍历该集合并获取 Product 的每个实例的 erp_model 并进行更新。

话虽如此,我只能猜测你想做什么,但你崩溃的原因很清楚。如果您有 45,000 条记录,您将尝试将其全部存储在 PHP 中的变量中,然后尝试对其运行查询。最好让您的数据库通过单个更新查询来处理所有事情。

UPDATE oc_products
INNER JOIN products ON oc_products.product_id = products.id
SET oc_products.model = products.erp_model
WHERE oc_products.product_id <> 0;

关于php - 如何限制 Eloquent 中的数据?拉拉维尔 5.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43810843/

相关文章:

php - Paypal 沙盒 IPN 模拟器 - 未收到响应

mysql - 使用 phpMyAdmin 导出/导入 SQL 文件时出错

laravel - 使用/Laravel 多语言在 Google 上定位良好?

php - 像在 PHP 中一样在 Python 中获取格式化的日期时间

php - 我可以使用 PHP 创建 UPS 包裹运输/取件请求吗?示例代码?

php - 似乎无法让 $_GET ['id' ] 工作

MySQL-按条件排序

php - preg_替换整个单词

Laravel 文件上传 s3 分段

javascript - PHP cookie 设置为重定向,googlebot 也重定向 - 如何阻止这个?