gpt4 book ai didi

Symfony 2 - 使用 Gedmo\Slug 生成 Slug

转载 作者:行者123 更新时间:2023-12-04 10:17:49 32 4
gpt4 key购买 nike

我刚刚安装了使用 Sluggable 的学说扩展。

我做这个:

Composer .json

"stof/doctrine-extensions-bundle": "1.2.*@dev"

应用内核.php
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),

应用程序/配置/config.yml
stof_doctrine_extensions:
orm:
default:
sluggable: true

Djoo\AppliBundle\Entity\Nomenclature.php
namespace Djoo\AppliBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\DBAL\Types\SmallIntType;
use Gedmo\Mapping\Annotation as Gedmo;

/**
* Nomenclature
*
*
* @ORM\Table(name="app_nomenclature")
* @ORM\Entity
*/
class Nomenclature
{
.....
/**
* @var string
*
* @ORM\Column(name="titre", type="string", length=200, nullable=false)
*/
private $titre;

/**
* @var string
*
* @ORM\Column(name="finess", type="string", length=10, nullable=true)
*/
private $finess;

/**
* @Gedmo\Slug(fields={"titre","finess"},suffix=".html")
* @ORM\Column(length=128, unique=true,nullable=true)
*/
private $slug;

public function getSlug() {
return $this->slug;
}

public function setSlug($slug){
$this->slug = $slug;
return $this;
}

}

在我的 Controller 中,我这样做是为了为我的数据表中的旧值生成 slug :
$filterBuilder = $this->get('doctrine.orm.entity_manager')>getRepository('DjooAppliBundle:Nomenclature')->createQueryBuilder('e')->orderBy('e.titre', 'asc');
$query = $filterBuilder->getQuery();
$nomenclatures = $query->getResult();

foreach($nomenclatures as $nomenclaturee){
$nomenclature->setSlug(null);
$this->get('doctrine.orm.entity_manager')->persist($nomenclature);
$this->get('doctrine.orm.entity_manager')->flush();
}

我没有错误,但我的旧值是一个空值。我尝试创建一个新元素并且我有一个很好的 slug。你有想法吗?

谢谢

最佳答案

要更改 slug,您必须更改相关属性。您可以在 $titre 末尾添加一个空格,保存,改回并再次保存。这将冲洗蛞蝓。

关于Symfony 2 - 使用 Gedmo\Slug 生成 Slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426322/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com