public static function createOne($array) { $producttype = new Producttype(); foreach ($array as $key => $value) { $producttype[$key] = $value; } $producttype->save(); $producttype->calcPath(); return $producttype; }
/** * @param int $count * * @return string */ public static function generateSampleProducts($count = 10) { // Type $typeIds = Producttype::getIdsOrCreateDummy(); // category $categoryIds = Productcategory::getIdsOrCreateSampelData(); // unit berat $unitIds = Units::getIdsOrCreateSampleUnits(); // parent_id $parentId = 0; $fake = static::getFake(); // // Buat Product $catId = $fake->getFake()->randomElement($categoryIds); $typeId = $fake->getFake()->randomElement($typeIds); $unitWeightId = $fake->getFake()->randomElement($unitIds); $unitWidthId = $fake->getFake()->randomElement($unitIds); $supplierIds = Suppliers::getRecordIdsOrCreate(); $currencyIds = Currencies::getIdsOrCreateSample(); // color $colorIds = Colors::getIdsOrCreate(); // gradeIds $gradeIds = Fabricgrade::getIdsOrCreate(); $productIds = array(); for ($rec = 0; $rec < $count; $rec++) { $product = $fake->getProduct()->product($catId, $typeId, $unitWeightId, $unitWidthId, $parentId, '\\Emayk\\Ics\\Repo\\Productcategory\\Productcategory'); $record = static::createRecord($product); $productId = $record->id; $productIds[] = $productId; // Image/ Photo Product $imagesIds[] = Images::getIdsOrCreate($productId, '\\Emayk\\Ics\\Repo\\Products\\Products'); // Supplier Product // Product Supplier (Product dapat dari Supplier mana ?) $supplierId = $fake->getFake()->randomElement($supplierIds); $supplierProduct = Productsuppliers::create(array('master_product_id' => $productId, 'master_supplier_id' => $supplierId)); $supplierProductId = $supplierProduct->id; // Create Detail // Buat Product Detail $unitId = $fake->getFake()->randomElement($unitIds); $colorId = $fake->getFake()->randomElement($colorIds); $gradeId = $fake->getFake()->randomElement($gradeIds); $currSp = $fake->getFake()->randomElement($currencyIds); $currSpm = $fake->getFake()->randomElement($currencyIds); $detailIds[] = Productdetails::getIdOrCreate($productId, $colorId, $unitId, $gradeId, $currSp, $currSpm); //Buat Stock // Buat Stock $stockIds[] = Stockproducts::createStock($productId); } foreach ($stockIds as $stockId) { for ($history = 0; $history < 9; $history++) { // Buat Stock Detail/History277 if ($history % 2 == 0 || $history == 0) { $typeHistory = 'in'; } else { $typeHistory = 'out'; } $firstHistory = $history == 0; // $stockHistoryIds[] = Stockproducthistory::createHistoryStockSample($stockId, $typeHistory, $firstHistory); } } return "Sudah Generate sebanyak " . count($productIds) . " records"; return s($productIds, $supplierProductId, $imagesIds, $detailIds); }
protected function executeBatchCreateproducttype(sfWebRequest $request) { $producttypedata = $request->getParameter('producttype'); $producttype_name = $producttypedata["name"]; $ids = $request->getParameter('ids'); //search for producttype of given name $producttype = MyModel::fetchOne("Producttype", array('name' => '"' . $producttype_name . '"')); //if not found, if (!$producttype) { //create new product type $producttype = new Producttype(); $producttype["name"] = $producttype_name; $producttype["parent_id"] = 1; $producttype->calcPath(); } $producttype_id = $producttype->getId(); //set products to producttype $records = Doctrine_Query::create()->from('Product')->whereIn('id', $ids)->execute(); foreach ($records as $record) { $record->setProducttypeId($producttype_id); //$record->setName(str_replace("Pressure Tank","Tank",$record->getName())); $record->save(); } $this->redirect($request->getReferer()); }