date_updated = now(); } function find_or_create($table, $where, $defaults, $autosave=false) { $item = ORM::for_table($table); // Where is an associative array of key/val combos foreach($where as $c=>$v) { $item = $item->where($c, $v); } $item = $item->find_one(); if(!$item) { $item = ORM::for_table($table)->create(); $item->date_created = now(); foreach($defaults as $k=>$v) { $item->{$k} = $v; } foreach($where as $k=>$v) { $item->{$k} = $v; } if($autosave) $item->save(); } return $item; }