Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Model_Filme extends \Orm\Model
- {
- protected static $_properties = array(
- 'id',
- 'title',
- 'slug',
- 'sinopse',
- 'poster',
- 'created_at',
- 'updated_at',
- );
- protected static $_observers = array(
- 'Orm\Observer_CreatedAt' => array(
- 'events' => array('before_insert'),
- 'mysql_timestamp' => false,
- ),
- 'Orm\Observer_UpdatedAt' => array(
- 'events' => array('before_update'),
- 'mysql_timestamp' => false,
- ),
- 'Orm\\Observer_Slug' => array(
- 'source' => 'title',
- 'property' => 'slug',
- ),
- );
- protected static $_many_many = array('tags');
- protected static $_table_name = 'filmes';
- public static function save_filme()
- {
- $data = Input::post('data');
- $val = static::validate_filme();
- if ($val->run()) {
- if ($data['id']) {
- $filme = static::find($data['id'])->set($data);
- unset($filme->tags);
- } else {
- $filme = static::forge($data);
- }
- foreach ($data['tags'] as $tag_id) {
- $filme->tags[$tag_id] = Model_Tag::find($tag_id);
- }
- $filme->save(); return array($filme, true, null, null);
- } else {
- return array(static::forge($data), false, $val->error(), $data['tags']);
- }
- }
- public static function validate_filme()
- {
- $val = Validation::forge();
- $val->add_field('data[poster]', 'Filme Poster', 'required');
- $val->add_field('data[title]', 'Título', 'required');
- $val->add_field('data[sinopse]', 'Sinopse', 'required');
- $val->add_field('data[tags]', 'Tags', 'required');
- $val->set_message('required', 'O campo :label é obrigatório.');
- return $val;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement