2016-12-22 14 views
0

插入多個數據的數據庫,我有我的數據庫costum表名test_category包含列:如何陣列通過控制器在Magento

entity_id(主鍵和自動遞增),category_id,並category_name

和我有存儲在數組中的類別數據,以及我想將其插入到通過在Magento控制器數據庫中,是否有任何方式在陣列中插入數據這樣

Array 
(
    [category_id] => Array 
     (
      [0] => 13361 
      [1] => 13697 
      [2] => 13755 
      [3] => 13760 
     ) 
    [category_name] => Array 
     (
      [0] => Baby & Toddler 
      [1] => Baby & Toddler - Baby Gear 
      [2] => Baby & Toddler - Baby Gear - Backpacks & Carriers 
      [3] => Baby & Toddler - Baby Gear - Backpacks & Carriers - Accessories 
     ) 
) 
+0

有沒有父子概念或者是他們都在同一個水平? –

+0

@SumanSingh是的,他們是在同一水平 –

回答

0
<?php 
require_once dirname(__FILE__) . '/app/Mage.php'; 
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); 

// Your data array 
$catarr = array ( 
     'category_id' => array (13361,13697,13755,13760), 
     'category_name' => array('Baby & Toddler','Baby & Toddler - Baby Gear','Baby & Toddler - Baby Gear - Backpacks & Carriers','Baby & Toddler - Baby Gear - Backpacks & Carriers - Accessories') 
     ); 

$combineArr = array_combine($catarr['category_id'],$catarr['category_name']); 
echo '<pre>'; 
print_r($catarr); 
print_r($combineArr); 
echo '</pre>'; 

// set your parent category 
$parentId = '2'; 

foreach($combineArr as $combineArrKey => $combineArrVal) { 
    try{ 
     $category = Mage::getModel('catalog/category'); 
     $category->setName($combineArrVal); 
     //$category->setId($combineArrKey); 
     //$category->setUrlKey('your-cat-url-key'); 
     $category->setIsActive(1); 
     $category->setDisplayMode('PRODUCTS'); 
     $category->setIsAnchor(1); //for active anchor 
     $category->setStoreId(Mage::app()->getStore()->getId()); 
     $parentCategory = Mage::getModel('catalog/category')->load($parentId); 
     $category->setPath($parentCategory->getPath()); 
     $category->save(); 
    } catch(Exception $e) { 
     echo $e->getMessage(); 
     echo '<br />'; 
    } 
} 

?> 

你可以把根文件夾,運行此文件。如果你想在你的控制器中使用它,而不是隻刪除最上面的兩行代碼。

如果你想同類別ID不是使用

$category->setId($combineArrKey); 
+0

對不起,它與magento默認類別不同類 –

+0

Magento默認父類別是2,您可以根據您的要求更改 –

+0

我的意思是,它根本不涉及magento類別,我有我自己的模型,例如:Mage :: getModel('test/category');' –