⚠ In case you've missed it we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This forum is read-only and soon will be archived. ⚠


yooghe's Content

There have been 2 items by yooghe (Search limited from 08-December 21)


By content type

See this member's

Sort by                Order  

#9837 callback_after_insert and update in not working

Posted by yooghe on 24 October 2013 - 07:16 PM in I have a question

Hi,

     I am new to grocery crud as well as codeigniter. I am using following function for call_back but I is not working.

 

I am using 2 tabels

table_city(city_id(primarykey,autoincrement),city_name)

table_route(route_id(primarykey, autoincriment), fromcity_id, fromcity_name, tocity_id,tocity_name)

 

I am using set_relation for fromcity_id and tocity_id fields from table_route with city_id field in table_city

 

as with this set_relation I am only able to store city_id in in fromcity_id and tocity_id fields, I would also like to add city_name in fromcity_name and tocity_name fields. so I am using callback_after_insert and update functions to update citynames of the same table. my code as fallows.

 

public function manageroute() {
 
$crud = new grocery_CRUD();
 
$crud->set_table('table_route');
$crud->set_subject('Route');
 
$crud->set_relation('fromcity_id','table_city','city_name');
$crud->display_as('fromcity_id','city_name');
 
$crud->set_relation('tocity_id','table_city','city_name');
$crud->display_as('tocity_id','city_name');
 
                
$crud->callback_after_insert(array($this, '_update_cityname_after_insert'));
$crud->callback_after_update(array($this, '_update_cityname_after_update'));         
         
$output = $crud->render();
 
$this->_example_output($output);
 
 
}
 
function _update_cityname_after_insert($post_array,$primary_key)
{
      
     $fquery = $this->db->get_where('table_city', array('city_id' => $post_array['fromcity_id']));
      $fromcityname = $fquery->city_name;
   
    $tquery = $this->db->get_where('table_city', array('city_id' => $post_array['tocity_id']));
    $tocityname = $tquery->city_name;
   
   
     $data = array(
               'fromcity_name' => $fromcityname,
               'tocity_name' => $tocityname               
            );
      $this->db->where('route_id', $primary_key);
      $this->db->update('table_route', $data); 
 
    return true;
}

 

even I am not able echo any text from call back function.

am I doing any mistake in above code?




#9818 Need help in set_relation_n_n custom query

Posted by yooghe on 22 October 2013 - 12:35 PM in I have a question

I have two tables 

 

citytable:   city_id, city_name

 

routetable:   route_id, fromcity_id, tocity_id

 

I would like to show two fields

fromcity_id is first field which is a combo where all city_name values will be displayed.

 

for that I wrote fallowing code.

 

$crud->set_table('routetable');
$crud->set_subject('Route');
$crud->set_relation('city_id','citytable','city_name');
 
for second field
tocity_id, I would like to display two lists.
in one list I want show all the values of tocity_id which are not exists in the route for the selected value in the comobo.
 
  select city_id  from citytable,routetable where
                                                   city_id notequalsto (value selected in firstcombo)
                                                         and
                                                   city_id notequalsto (select tocity_id from routetable where fromcity_id equalsto  (value selected in firstcombo) )
 
 
in anotherlist I want to show all the tocity_id which are already exists in the route for the selected value in the combo.
 
  select tocity_id from routetable where 
                                                   tocity_id qualsto (value selected in firstcombo) 
 
 
Now I can move values by selecting value from first list and add them to second list. I need this type of relation. which i saw in set_relation_n_n. but there are three tables relation.
here I need from two tables only.
 
one more alternative even if I can able to display values of first list  which means of first query in a combo as a second field then also my requirement will be satisfied, without using two lists.
 
Can you please suggest me the best practice using grocery crud.
 
 
Thanks,
 
Yooghe.