Meload Model
===========
$this->loadModel('MCustomer');
Mencari data berdasarkan Kriteria
=========================
array(
'conditions' => array('Model.field' => $thisValue), //array of conditions
'recursive' => 1, //int
'fields' => array('Model.field1', 'DISTINCT Model.field2'), //array of field names
'order' => array('Model.created', 'Model.field3 DESC'), //string or array defining order
'group' => array('Model.field'), //fields to GROUP BY
'limit' => n, //int
'page' => n, //int
'offset' => n, //int
'callbacks' => true //other possible values are false, 'before', 'after'
)
-----------------------------------------------------------------------
$this->set('mCustomer',$this->$modelName->MCustomer->find('all',
array('fields' => array('id','first_name'),'conditions' => array('MCustomer.flag_active' => 1))));
----------------------------------------------------
$options['conditions']['MCostList.m_activity_id ='] = $this->params['url']['m_activity_id'];
$options['conditions']['MCostList.m_route_id ='] = $this->params['url']['m_route_id']; $options['conditions']['MCostList.m_service_id ='] = $this->params['url']['m_service_id'];
$options['conditions']['MCostList.m_brand_id ='] = $brand_id['MTruck']['m_brand_id'];
$result = $this->MCostList->find('all', $options);
Conditions
=======
$condition["TJobOrder.approval"] = 1;
$condition["TJobOrder.complete_status"] = 0;
$condition["TJobOrder.branch_id"] = $branchId;
$condition["TJobOrder.flag_cancel !="] = 'Y';
$condition["TJobOrder.flag_interport"] = 0;
$condition["TJobOrder.job_order_date >="] = $intervalDate[0][0]['date_int'];
$condition["TJobOrder.job_order_date <="] = $nowDate;
$this->set('records', $this->paginate($modelName, $condition));
---------------------------------------------------------------------------------------
$conditionIndex = array("index", "TJobOrder.job_order_date <= '".$nowDate."' AND TJobOrder.job_order_date >='".$intervalDate[0][0]['date_int']."' AND TJobOrder.approval = 1 AND TJobOrder.flag_interport = '0' AND TJobOrder.complete_status = 0 AND TJobOrder.branch_id=".$branchId." AND TJobOrder.flag_cancel != 'Y' GROUP BY TJobOrder.id HAVING qty_allocation_detail < qty_job_order_detail");
$records = $this->paginate('TAllocation',$conditionIndex);
OR Conditions
==========
$status = 3;
$conditions = array('Company.status' => array(0, $status));
--------------------------------------------------------------
$params = array('contain' => 'Product.name',
'fields' => array('DISTINCT(Equipment.product_id) AS
id', 'Product.name'),
'order' => array('Product.name'),
'group' => array('Equipment.product_id'),
'conditions' => array(
'AND' => array(
'Equipment.company_id' => $this->passedArgs['company'],
'Equipment.deleted' => 0,
'OR' => array(
'Equipment.location_id' => null,
'Equipment.location_id' => -1,
'Equipment.location_id' => -2
)
)
));
--------------------------------------------------------------
array(
'OR' => array(
array('Company.name' => 'Future Holdings'),
array('Company.city' => 'CA')
),
'AND' => array(
array(
'OR' => array(
array('Company.status' => 'active'),
'NOT' => array(
array('Company.status' => array('inactive', 'suspended'))
)
)
)
)
)
JOIN Table
==========
$options['joins'] = array(
array('table' => 'channels',
'alias' => 'Channel',
'type' => 'LEFT',
'conditions' => array(
'Channel.id = Item.channel_id',
)
)
);
$Item->find('all', $options);
Pagination
=======
$this->paginate['limit'] = 40;
$this->paginate['recursive'] = 2;
$this->paginate['conditions']['TAllocationDetail.status_sm >'] = 0;
$this->paginate['conditions']['TAllocationDetail.print_status'] = 0;
$this->paginate['conditions']['TAllocation.branch_id'] = $this->Myappuser->getBranchId();
$this->paginate['order'] = array("TAllocation.date" => 'DESC');
Save data
========
$this->$modelName->saveAll($this->data)
Unbind Model
==========
$this->TDebitNote->unbindModel(array(
'belongsTo' => array(
'TJobOrder','MCustomer','TBillingPreparation'
),
), false);
--------------------------------------------------------------------------------
$this->$modelName->TBillingPreparation->TJobOrder->unbindModel(array(
'belongsTo' => array(
'TAgreement',
'MBranch',
),
'hasOne' => array(
'TAllocation',
'TBillingPreparation',
'TDebitNote',
),
'hasMany' => array(
'TJobOrderDetail',
),
), false);
Unbind Semuanya dan Mengmbil yang terpakai
=================================
$this->MktAgreementDetail->unbindAll(array('belongsTo'=>array('MktAgreementDetail','SetupActivity','SetupUnit')));
Mengambil Customer dari table transaksi
=======================================
$this->loadModel('TransPraInfoExport');
$this->TransPraInfoExport->unbindall(array('belongsTo'=>array('SetupCustomer')));
$this->TransPraInfoExport->SetupCustomer->unbindall();
$customers = $this->TransPraInfoExport->find('all', array('fields'=>'SetupCustomer.id,SetupCustomer.name', 'recursive' => 2,'group'=>'setup_customer_id'));
$this->set('customers',$customers);
Mengambil data tertentu untuk dimasukkan ke $this->data tertentu
=============================================
foreach($this->data["TAllocationDetail"]['detail'] as $key=>$index) {
$this->data["TBopDetail"][$key]['cost_type'] = $index['cost_type'];
$this->data["TBopDetail"][$key]['m_cost_id'] = $index['m_cost_id'];
$this->data["TBopDetail"][$key]['m_currency_id'] = $index['m_currency_id'];
$this->data["TBopDetail"][$key]['amount'] = $index['amount'];
}