我有一个名为Vara的类,我有一个名为searchname的表字段。我想做一个简单的cviebrock雄辩设置,但是无法弄清楚问题是什么。
当我保存模型时,没有任何反应,它会重写存储的旧值。
如果我将build_from更改为,那么我会得到相同的输出。我有一个名为handle的字段,也尝试将字段namne更改为slug但结果相同。如果我将build_from留空,我也会获得相同的输出。
但是,如果我将save_to更改为不存在的内容,则会出现错误。 searchname字段的值为“Hjordnäratest33升”,因此输出真的很奇怪。
我的猜测是build_from被忽略,并被视为null。我该如何解决这个问题?
我的Vara.php看起来像这样
use Cviebrock\EloquentSluggable\SluggableInterface;
use Cviebrock\EloquentSluggable\SluggableTrait;
class Vara extends \Eloquent implements SluggableInterface {
use SluggableTrait;
protected $sluggable = array(
'build_from' => 'searchname',
'save_to' => 'handle'
);
在我的VarorController.php
中public function saveVara()
{
$id = Input::get('id');
$vara = Vara::find(Input::get('id'));
$vara->edited_by = Auth::user()->id;
$vara->searchname = Input::get('searchname');
$vara->save();
return $vara->getSlug();
确定更新,在SluggableTrait.php中找到此功能
public function sluggify($force=false)
{
$config = \App::make('config')->get('eloquent-sluggable::config');
$this->sluggable = array_merge( $config, $this->sluggable );
if ($force || $this->needsSlugging())
{
$source = $this->getSlugSource();
$slug = $this->generateSlug($source);
$slug = $this->validateSlug($slug);
$slug = $this->makeSlugUnique($slug);
$this->setSlug($slug);
}
return $this;
}
所以,如果我添加$ vara-> sluggify(true);对我的控制器来说,slug正在被保存,所以现在的问题就是为什么它不会自动地在$ vara-> save();