PrestaShop,插入数据库时​​获取ID

PrestaShop, get ID when insert in DB

我正在为 PrestaShop 1.6 创建一个脚本,用于将数据插入 table。 我的table是这样制作的:

当我输入描述时,我会取回 ID 值。

无法使用标准,因为它被 PrestaShop 阻止了。

我发现这是一种情况:

$sql = "INSERT INTO `"._DB_PREFIX_."table`(`desc`) VALUES ('".$this->desc."')";
$restpo = Db::getInstance()->execute($sql);
var_dump($restpo);

但我的答案只有一个布尔值。 你能推荐点什么吗?

执行 SQL 后使用 $id = Db::getInstance()->Insert_ID();

您可以使用:

$id = (int)Db::getInstance()->Insert_ID();

例如,在购物车中 class:

$last_id = (int)Db::getInstance()->Insert_ID();

我还推荐使用函数插入,例如在 Carrier class:

$values = array();
foreach ($shops as $id_shop) {
      $values[] = array(
           'id_carrier' => (int)$this->id,
           'id_tax_rules_group' => (int)$id_tax_rules_group,
           'id_shop' => (int)$id_shop,
       );
}
$res = Db::getInstance()->insert('carrier_tax_rules_group_shop', $values);

然后用Insert_ID得到最后一个

PrestaShop 的 DB class 通过

提供 last inserted id
Db::getInstance()->Insert_ID(); 

方法。