here is the code..
now, this function can work normally, but only for ITEM model, i use
manual query likle "INSERT INTO 'items' VALUES(.......)".
$this->Item->getLastInsertID doesn't work too, so i use
msqyl_insert_id ant it works.
############################################################
function finish()
{
$user_id = $this->Session->Read('user_id');
$date = date('Y-m-d');
$purchase =
$this->TemporaryPurchase->findByUserId($user_id);
//--------------------------------------------------
Purchase ---------------------------------------------//
//setting data before save
$data_purchase = $purchase['TemporaryPurchase'];
$data_purchase['entry_by'] = $user_id;
$data_purchase['entry_date'] = $date;
$data_purchase['f_valid'] = 'f';
unset($data_purchase['id']);
//saving data into table
$this->Purchase->Create($data_purchase);
$this->Purchase->Save($data_purchase);
$purchase_id = $this->Purchase->getLastInsertID();
$i = 0;
foreach($purchase['TemporaryPurchaseDetail'] as
$purchase_detail) :
$item =
$this->TemporaryItem->findById($purchase_detail
['temporary_item_id']);
$purchase_item_details =
$this->TemporaryPurchaseItemDetail-
>findAllByTemporaryPurchaseDetailId($purchase_detail['id']);
//--------------------------------------------------
Item ---------------------------------------------//
//setting data before save
$data_item = $item['TemporaryItem'];
$data_item['entry_by'] = $user_id;
$data_item['entry_date'] = $date;
$data_item['f_expired'] = 'f';
$data_item['f_return'] = 'f';
$data_item['f_active'] = 'f';
unset($data_item['id']);
unset($data_item['user_id']);
$this->data['Item'] = $data_item;
/*----------------------------------- the problem goes
here
--------------------------------*/
$this->Item->Create($this->data);
$this->Item->Save($this->data);
$item_id = $this->Item->getLastInsertID();
/
*----------------------------------------------------------------------------------------------------
*/
if(!empty($item_id)) :
//setting id for next save
//--------------------------------------------------
PurchaseDetail ---------------------------------------------//
//setting data before save
$data_purchase_detail = array(
'purchase_id' => $purchase_id,
'item_id' => $item_id,
'quantity' =>
$purchase_detail['quantity'],
);
//saving data into table
$this->PurchaseDetail->Create($data_purchase_detail);
$this->PurchaseDetail->Save($data_purchase_detail);
$purchase_detail_id =
$this->PurchaseDetail->getLastInsertID();
$purchase['TemporaryPurchaseDetail'][$i]['TemporaryItem'] = $item
['TemporaryItem'];
$purchase['TemporaryPurchaseDetail'][$i]
['TemporaryPurchaseItemDetail'] = $purchase_item_details;
$j = 0;
foreach($purchase_item_details as
$purchase_item_detail) :
$item_detail =
$this->TemporaryItemDetail->findById
($purchase_item_detail['TemporaryPurchaseItemDetail']
['temporary_item_detail_id']);
$purchase['TemporaryPurchaseDetail'][$i]
['TemporaryPurchaseItemDetail'][$j]['TemporaryItemDetail'] =
$item_detail['TemporaryItemDetail'];
//--------------------------------------------------
ItemDetail ---------------------------------------------//
//setting data before save
$data_item_detail =
$item_detail['TemporaryItemDetail'];
$data_item_detail['item_id'] =
$item_id;
$data_item_detail['entry_by'] =
$user_id;
$data_item_detail['entry_date'] = $date;
$data_item_detail['f_valid'] = 'f';
unset($data_item_detail['id']);
unset($data_item_detail['user_id']);
//saving data into table
$this->ItemDetail->Create($data_item_detail);
$this->ItemDetail->Save($data_item_detail);
$item_detail_id =
$this->ItemDetail->getLastInsertID();
//setting id for next save
$this->ItemDetail->id =
$item_detail_id + 1;
//--------------------------------------------------
PurchaseItemDetail ---------------------------------------------//
//setting data before save
$data_purchase_item_detail = array(
'purchase_detail_id' =>
$purchase_detail_id,
'item_detail_id'
=> $item_detail_id,
'item_purchases_price' =>
$purchase_item_detail
['TemporaryPurchaseItemDetail']['item_purchases_price'],
);
//saving data into table
$this->PurchaseItemDetail->Create($data_purchase_item_detail);
$this->PurchaseItemDetail->Save($data_purchase_item_detail);
$j++;
endforeach;
endif;
$i++;
endforeach;
//$this->redirect('/purchases/clear_transaction/');
}
###################################################################################
here is the item model
<?php
class Item extends AppModel
{
var $name = "Item";
var $belongsTo = array('Item_Type' =>
array('className' => 'ItemType',
'conditions' => '',
'order' => '',
'fields' => array('Item_Type.id','Item_Type.desc'),
'foreignKey' => 'item_type_id',
),
'Item_Brand_Type'
=>
array('className' => 'ItemBrandType',
'conditions' => '',
'order' => '',
'fields' => array
('Item_Brand_Type.id','Item_Brand_Type.desc'),
'foreignKey' => 'item_brand_type_id',
),
);
var $validate = array(
'desc' => array(
'rule' =>
VALID_NOT_EMPTY,
'required' => true,
'allowEmpty'=> false,
'message' =>
"Item desc must be filled in",
),
'info' => array(
'rule' =>
VALID_NOT_EMPTY,
'required' => true,
'allowEmpty'=> false,
'message' =>
"Item info must be filled in",
),
'quantity' => array(
'rule' =>
array('numeric'),
'required' => true,
'allowEmpty'=> false,
'message' =>
"Item quantity must be filled in with numeric
valid character",
),
'default_price' => array(
'rule' =>
array('numeric'),
'required' => true,
'allowEmpty'=> false,
'message' =>
"Item default price must be filled in with numeric
valid character",
),
);
}
####################################################
thanks a lot...
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---