Symfony助手和数据库

时间:2011-05-03 13:20:55

标签: symfony1 symfony-1.4

我使用symfony 1.4.11和doctrine。我有帮手:

function filterwords($text){

    $filterWords=array ('some','filter','words');
     $filterCount = sizeof($filterWords);
        for($i=0; $i<$filterCount; $i++){
        $text = preg_replace('/\b'.$filterWords[$i].'\b/ie',"str_repeat('*',strlen('$0'))",$text);
                                         }
        return $text;
                               }
    }

一切正常。但是我想创建模块,管理员可以添加单词来从后端进行过滤。是否有可能将数据从数据库传输到可变的 $ filterWords 我有下一个模式:

Filter:
  actAs:
    Timestampable: ~
  connection: doctrine
  tableName: filter
  columns:
    word: {type: string(255), notnull: true}

我可以帮助这样做,并得到我需要的信息:

 $record = Doctrine_Core::getTable('Filter')->getWordFilter();

 foreach ($record as $filter )

   {
 echo  $filter ->getWord();
    }

但我不知道如何在我的职能中实施它......

抱歉我的英语不好。

3 个答案:

答案 0 :(得分:1)

只需将$filterwords作为变量传递:

function filterwords($text, $filterwords)
{
   //etc.

答案 1 :(得分:0)

field = the column name that contains a value you're searching by.

$record = Doctrine_Core::getTable('Words')->findOneByField($value);
$filterWords = $record->getWord();

答案 2 :(得分:0)

我现在不是正确的,但这是有效的。

 function filterwords($text){
  $record = Doctrine_Core::getTable('Filter')->getWordFilter();//

   foreach ($record as $filter )
   {
        $filterWords[] =  $filter->getWord();
    }
         $filterCount = sizeof($filterWords);
        for($i=0; $i<$filterCount; $i++){
        $text = preg_replace('/\b'.$filterWords[$i].'\b/ie',"str_repeat('*',strlen('$0'))",$text);
                                         }
        return $text;
                               }