public function up() { //we'll need some places where the events can take place $locations = array('Rīga', 'Valmiera', 'Ventspils'); foreach ($locations as $location) { $loc = \Model_Orm_Location::forge(); $loc->title = $location; $loc->save(); } //and let's create at least one event as well $demo_event = \Model_Orm_Event::forge(); $demo_event->title = "Notikums pēc nedēļas"; $demo_event->description = "Kaut kas, kam jānotiek nedēļu vēlāk nekā šī skripta izpilde."; $startdate = \Fuel\Core\Date::forge(time() + 7 * 24 * 60 * 60); $demo_event->start = $startdate->format('mysql', false); //'2013-11-27 07:00:00'; $demo_event->location_id = 1; //pieņemsim, ka Rīgā; $demo_event->save(); //the event shouldn't be empty - some agenda items $agenda_items = array('Notikuma pats, pats sākums', 'Kaut kad drusku vēlāk', 'Vēl mazliet vēlāk', 'Un nu jau arī beigas'); foreach ($agenda_items as $agenda_item) { $demo_agenda = \Model_Orm_Agenda::forge(); $demo_agenda->title = $agenda_item; $demo_agenda->event = $demo_event; $demo_agenda->save(); } //we also need some users. at least two. \Auth::instance()->create_user("*****@*****.**", "fuel_dev", "*****@*****.**", 100, array("verified" => true, "verification_key" => md5(mt_rand(0, mt_getrandmax())))); \Auth::instance()->create_user("*****@*****.**", "fuel_dev", "*****@*****.**", 1, array("verified" => true, "verification_key" => md5(mt_rand(0, mt_getrandmax())))); }
/** * Adding a new agenda item to the event * @param int $event_id */ public function action_create($event_id = null) { is_null($event_id) and Response::redirect("event"); $event = Model_Orm_Event::find($event_id); if (Input::method() == 'POST') { $val = Model_Orm_Agenda::validate('create'); if ($val->run()) { $agenda = Model_Orm_Agenda::forge(array('title' => $val->validated('title'))); $agenda->event = $event; if ($agenda and $agenda->save()) { Session::set_flash('success', 'Added a new agenda item to the event "' . $event->title . '".'); Response::redirect('event/view/' . $event_id); } else { Session::set_flash('error', 'Could not save the agenda item.'); } } else { Session::set_flash('error', $val->error()); } } $this->template->title = "Adding agenda items to `" . $event->title . "`."; $this->template->content = View::forge('agenda/create'); }
/** * demonstrates how ORM models can be used for loading * DB information as well as creating new items or editing them. * @return view data */ public function action_orm() { $demo_event = new Model_Orm_Event(); $demo_event->title = "Lecture demo"; $demo_event->description = "blabla"; $demo_event->start = time(); //$demo_event->save(); $first_event = Model_Orm_Event::find(1); $first_event->title = "Modified title"; $first_event->save(); $events = Model_Orm_Event::find("all", array('related' => array('agendas', 'location'))); $output = ""; foreach ($events as $event) { $output .= "=======\r\n"; $output .= $event->title . "\r\n"; $output .= $event->description . "\r\n"; if (isset($event->location) && isset($event->location->title)) { $output .= $event->location->title . $event->location->id . "\r\n"; } foreach ($event->agendas as $agenda) { $output .= "-" . $agenda->title . "\r\n"; } } $response = Response::forge($output); $response->set_header("Content-Type", "text/plain"); return $response; }