Files
ExpenseCount/app/Model/DemoExpense.php
2026-06-25 13:03:45 +06:00

122 lines
3.2 KiB
PHP

<?php
class DemoExpense extends AppModel
{
var $name = 'DemoExpense';
public function setORMForDemoGroupExpense(){
$this->bindModel(
array('hasMany' => array(
'DemoParticipant' => array(
'className' => 'DemoParticipant',
'conditions' => array('DemoParticipant.expense_id' => 'DemoExpense.id'),
'order' => 'DemoParticipant.create_date ASC',
'foreignKey' => 'expense_id'
),
'DemoGroupExpense' => array(
'className' =>'DemoGroupExpense',
'conditions' => array('DemoGroupExpense.expense_id' => 'DemoExpense.id'),
'order' => 'DemoGroupExpense.create_date ASC',
'foreignKey' => 'expense_id'
)
)));
}
public function setORMForDemoFamilyExpense(){
$this->bindModel(array('hasMany' => array(
'DemoFamilyExpense' => array(
'className' =>'DemoFamilyExpense',
'conditions' => array('DemoFamilyExpense.expense_id' => 'DemoExpense.id'),
'order' => 'DemoFamilyExpense.create_date ASC',
'foreignKey' => 'expense_id'
)
)));
}
public function setORMForDemoMess(){
$this->bindModel(array('hasMany' => array(
'DemoParticipant' => array(
'className' => 'DemoParticipant',
'conditions' => array('DemoParticipant.expense_id' => 'DemoExpense.id'),
'order' => 'DemoParticipant.create_date ASC',
'foreignKey' => 'expense_id'
),
'DemoGroupExpense' => array(
'className' =>'DemoGroupExpense',
'conditions' => array('DemoGroupExpense.expense_id' => 'DemoExpense.id'),
'order' => 'DemoGroupExpense.create_date ASC',
'foreignKey' => 'expense_id'
) ,
'DemoMeal' => array(
'className' =>'DemoMeal',
'conditions' => array('DemoMeal.expense_id' => 'DemoExpense.id'),
'order' => 'DemoMeal.date ASC',
'foreignKey' => 'expense_id'
)
)));
}
public function getDemoGroupExpenseInfoByURL($unique_url){
$expenseType = substr($unique_url, 0, 1);
if($expenseType == "2" || $expenseType == "7"){
$this->setORMForDemoMess();
} else {
$this->setORMForDemoGroupExpense();
}
return $this->find('first', array('conditions' => array('DemoExpense.unique_url' =>$unique_url)));
}
public function getDemoFamilyExpenseInfoByURL($unique_url){
$this->setORMForDemoFamilyExpense();
return $this->find('first', array('conditions' => array('DemoExpense.unique_url' =>$unique_url)));
}
function findExpenseInfoByIds($expenseIdList){
$data = NULL;
if(!empty($expenseIdList) && count($expenseIdList) > 0){
$str = implode(",",$expenseIdList);
$this->hasMany = array();
$result = $this->find('all', array('conditions' => array(
'DemoExpense.id in ('.$str.')'
),
'order' => 'DemoExpense.create_date DESC'));
if(!empty($result)){
$data["expenseList"] = $result;
App::import('model','DemoParticipant');
$participant = new DemoParticipant();
$participantInfo = $participant->find('all', array('conditions' => array(
'DemoParticipant.expense_id in ('.$str.') ' ,'is_creator'=>'1'
)));
$data["participantList"]= $participantInfo;
}
}
// $log = $this->getDataSource()->getLog(false, false);
// debug($log);
return $data;
}
}
?>