Laravel 懒惰

Laravel sluggable

我在我的 Laravel 5.5 应用程序中使用 this package 作为 slug。我是从 Laravel 4.2 升级的,我按照升级说明进行了升级,所以现在我的模型中有这个:

public function sluggable()
{
    return [
        'slug' => [
            'source' => ['id', 'title'],
            'separator'  => '-',
        ]
    ];
}

但我的模型在创建时根本不会读取 slug 中的 id

在我保存模型之前,我会得到 123456-model,现在我得到的只是 model,没有前置 ID。

有人知道问题出在哪里吗?

我通过将 slug 设置为 null 然后保存模型(仅在模型已经在数据库中之后)解决了这个问题。

$model = new Model(...);
...
$model->save(); // <-- initial DB insert so that model has ID

// resluggify
$model->slug = null;
$model->save();