检查 slug 是否存在,在字符串末尾加一.使用Symfony框架


Check if slug exists add plus one to the end of the string. using symfony framework

嗨,我有一个关于蛞蝓的问题。我正在制作一个注册系统,我的问题是我如何能够添加鼻涕虫加一?我能够检查数据库是否存在 slugname,然后加一这是我下面的代码。

private function saveData($post){
    $repeat_password = sha1($post['repeat_password']);
    $firstName = $post['firstname'];
    $lastName = $post['lastname'];
    $result = $firstName.$lastName;
    $exists = Doctrine_Core::getTable('User')->findOneBySlug($result);
    $i = 1;
    while($exists == true){ 
      $newSlug = $firstName.$lastName.$i;
      //echo $newSlug; exit();
      if($exists == $newSlug){
        $newSlug = $firstName.$lastName.$i++;
        //echo $newSlug; exit();
      }
    }
    $register = new User();
    $register->setFirstName($post['firstname']);
    $register->setLastName($post['lastname']);
    $register->setEmail($post['repeat_email']);
    $register->setPassword($repeat_password);
    $register->setSlug($result);  
    $register->save();
    $passwordReminder = new PasswordReminder();
    $passwordReminder->setEmail($post['repeat_email']);
    $passwordReminder->setHash(md5(md5(time())));
    $passwordReminder->save();

    return $register->getId();

  }

我怎样才能得到蛞蝓的值?并把它插入这里?

$exists = Doctrine_Core::getTable('User')->findOneBySlug($result);
    $i = 1;
    while($exists == true){ 
      $newSlug = $firstName.$lastName.$i;
      //echo $newSlug; exit();
      if($exists == $newSlug){
        $newSlug = $firstName.$lastName.$i++;
        //echo $newSlug; exit();
      }
    }

我已经遇到这个问题一个星期了,有人可以帮助我吗?

您可以使用 l3pp4rd/DoctrineExtensions 和 Sluggable 行为来为您解决这个问题。

可慢动作行为手册:https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/sluggable.md

准备用于 Symfony2 的捆绑包:https://github.com/stof/StofDoctrineExtensionsBundle