2013-12-01 1 views
1

У меня есть класс Model:Как применить одну функцию фильтра ко всем полям в ORM?

class Model_Feedback extends ORM { 
    public function filters() { 
     return array(
      'username' => array(
       array('trim'), 
      ), 
      'email' => array(
       array('trim'), 
      ), 
      'tel' => array(
       array('trim'), 
      ), 
      'text' => array(
       array('trim'), 
      ), 
     ); 
    } 
} 

Есть ли способ trim все поля сразу и не определить отдельный trim фильтр для каждой области?

ответ

1

Да, Kohana это позволяет с помощью шаблона, как вы можете видеть в run_filter(), вместо того, чтобы столбец в качестве ключа используется TRUE

public function filters() { 
    return array(
     TRUE => array(
      array('trim'), 
     ), 
    ); 
} 
+2

быть осторожным с тем, в тех случаях, когда набор выражений Пример базы данных ' DB :: expr() 'как значение, они будут изменены на строки методом' trim' ... – Thorsten