codeigniter - Update (save & delete) relationship without using $related->get(); -


i'm using codeigniter 2.1.4 & datamapper orm. know how save relations object , know how delete them.

in case have many-to-many relation, want update new values form. can use save them works fine:

$ousergroupright = new usergroupright; $usergrouprights = $ousergroupright->where_in('id', $this->input->post('usergrouprights'))->get();  $ousergroup = new usergroup; $ousergroup->get_by_id($id); $ousergroup->save($usergrouprights->all); 

but doesn't delete records "unchecked" in form. need delete objects don't want related anymore. best way (without using custom queries)?

a query above $ousergroup->where_not_in() before saving seems overkill me (why query database , build objects just delete relation?):

$ousergroupright = new usergroupright; $usergrouprights = $ousergroupright->where_not_in('id', $this->input->post('usergrouprights'))->get();  $ousergroup = new usergroup; $ousergroup->get_by_id($id); $ousergroup->delete($usergrouprights->all); 

any ideas?

there way delete objects don't want related anymore without need query database , build objects delete relation. can use utility function query run custom sql delete unrelated objects without needing perform database query, like:

// create usergroup object $u = new usergroup();  // custom sql query delete unrelated objects $sql = "delete usergrouprights usergroup.id = ? , id usergrouprights.id not in (?)";  // binding values $binds = array($idusergroup , $listofselecteditens);  // run query populate user object results $u->query($sql); 

more datamapper query utility function http://datamapper.wanwizard.eu/pages/utility.html#query


Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -