PHP 如何添加存储在行而不是列中的值?

标签 php mysql sql magento

我需要添加一个 php 脚本以从 cron 作业运行,该作业将添加两个 Magento 属性值并将结果作为第三个属性存储在 MySQL 数据库中。

如有任何帮助,我们将不胜感激。我附上了一个屏幕截图,希望能澄清一些事情。

最佳答案

在处理 EAV 模型时直接在 SQL 中工作很困难。节省您的精力并改用 Magento 的类。一个最小的 cron 脚本可能看起来像这样:

<?php

require 'app/Mage.php';
umask(0);
Mage::app();

$products = Mage::getModel('catalog/product')->getCollection();
foreach ($products as $product) {
    $product->setSumValue(
        $product->getFirstValue() + $product->getSecondValue()
    )
    ->save();
}

Magento 提供了神奇的方法,因此您可以使用像 getFirstValue()getSecondValue()setSumValue() 这样的语法来引用名为的属性first_valuesecond_valuesum_value。使用您实际属性的名称,而不是数字 141 等。

关于PHP 如何添加存储在行而不是列中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8361959/

相关文章:

mysql - 更好的 MySQL 查询?

php - 如何选择 laravel Controller 以使用 netbeans 进行测试

PHP 数组到字符串等价物

php - MySql 查询在 PHPmyadmin 中工作,但在 codeigniter 中不工作

mysql - 与mysql中的case语句连接

mysql - SQL:在 MySQL 表上交叉应用

php - 我应该在 MVC 中完全分离模型和 ORM 吗?

php - 如何解决php功能错误?

MYSQL 减去每一行中的列的值

sql - 在 SQL 中有效地拉伸(stretch)时间序列