0

如何限制数据库中的 slug 字段。在下面的代码中,问题是表的字段,它包含长文本。所以我想为长度有限的问题字段创建 slug。我该怎么做?//在模型中

var $actsAs = array(
            'Sluggable.Sluggable' => array(
            'label' => 'question',
            'slug' => 'slug',
            'separator' => '-',
            'overwrite' => false
          )
        );
4

2 回答 2

0

查看行为的来源

只需将'length'=>50参数添加到您的 sluggable 数组中。

CakeDC 的大多数插件都很出色,但缺少文档(这应该鼓励您自己动手了解插件的工作原理)。

于 2013-03-11T10:14:33.103 回答
-1

创建一个函数

   function create_slug($string) {
      $string = substr($string, 0, 100);
      $string = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $string);
      $string = strtolower(trim($string, '-'));
      $string = preg_replace("/[\/_|+ -]+/", '-', $string);
      return $string;
    }

并像这样使用它

$actsAs = array(
    'Sluggable.Sluggable' => array(
        'label' => 'very & long & question',
        'slug' => create_slug('very & long & question'),
        'separator' => '-',
        'overwrite' => false
    )
);

print_r($actsAs);

// 输出

Array
(
    [Sluggable.Sluggable] => Array
        (
            [label] => very & long & question
            [slug] => very-long-question
            [separator] => -
            [overwrite] => 
        )

)
于 2013-03-11T07:18:23.300 回答