Eve*_*nds 5 php mysql prestashop prestashop-1.6
我正在尝试创建一个自动导入XML文件的脚本,我得到了这个工作,但由于某种原因我需要从我添加的类别中获取ID,这个类别ID是自动增量,所以我没办法从现有数据中获取此信息.
所以我的代码看起来像这样:
$category = new Category;
$category->active = 1;
$category->id_parent = 3;
$category->name[1] = $product->category_name;;
$category->link_rewrite[1] = Tools::link_rewrite($product_xml->category_name);
echo "<br />name of new category = $product->category_name <br /> <br />";
$category->add();
$category->id = Db::getInstance()->Insert_ID();
Run Code Online (Sandbox Code Playgroud)
我在这里读过stackoverflow的某个地方
$ category-> id = Db :: getInstance() - > Insert_ID();
应该做的伎俩.不幸的是,这总是返回零.谁能看到我做错了什么?
编辑:我正在使用prestashop版本1.6
编辑:答案: 你不需要"Db :: getInstance() - > Insert_ID();" 在$ object-> add()之后,已经生成了一个ID,你唯一需要做的就是:echo $ object-> id; 你会看到你的身份证明.
最好的祝福,
Evert Arends
Prestashop已经在classes/ObjectModel.php方法中执行了此命令add()
// Get object id in database
$this->id = Db::getInstance()->Insert_ID();
Run Code Online (Sandbox Code Playgroud)
当您add()在对象上使用时,此对象会自动从数据库中获取其新ID.所以$category->id应该已经包含了它的新ID.
$category = new Category;
$category->active = 1;
$category->id_parent = 3;
$category->name[1] = $product->category_name;;
$category->link_rewrite[1] = Tools::link_rewrite($product_xml->category_name);
echo "<br />name of new category = $product->category_name <br /> <br />";
$category->add(); // Add will add the category to database and update category with its new id automatically
echo "category id = ".$category->id; // will show the category id.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |