Saturday, 5 April 2014

How to make has many function in expression engine


Step 1: Make an array


$rel=array();

$rel['exp_incoming_product']['id']='order_id';

$rel['exp_incoming_product']['level']=1;

Notes: 1) Here exp_incoming_product is table name from which you want to make
2) order_id id foreign key of table.

$data=$this->hasMany('exp_incoming_order',$rel,$member_id,'member_id');

Notes: 1)  Here exp_incoming_order is table 
hasMany function

function hasMany($t1,$tables,$id,$t1_id_name)
{
ee()->db->select('*');
ee()->db->from($t1);
ee()->db->order_by('id','desc');
ee()->db->where($t1_id_name,$id);
$query1 = ee()->db->get();
$data=array();
foreach($query1->result_array() as $key_1=>$result) 
{
foreach($result as $key=>$value1) 
{
$data[$key_1][$t1][$key]=$value1;
}
}
foreach($data as $single=>$part) {
foreach($tables as $table=>$value2) {
ee()->db->select('*');
ee()->db->from($table);
ee()->db->where($value2['id'],$part[$t1]['id']);
$query2 = ee()->db->get();
foreach($query2->result_array() as $key2=>$result2) 
{
foreach($result2 as $key3=>$value3) 
{
$data[$single][$table][$key2][$key3]=$value3;
}
}
}
}
return $data; 
} 


0 comments:

Post a Comment