猿问

octobercms 中同名的唯一 slug

我以这种方式使用帖子标题中的 slug 将表单输入保存到数据库


 $post = new Post();

       $post->title = Input::get('title');

       $post->slug = str_slug(Input::get('title'));

       ...

当两个用户输入完全相同的标题时,例如“It is a new day”,它会生成相同的 slug“it-is-a-new-day”,这两个帖子会发生冲突。我怎样才能解决这个问题?尚未找到可行的直接方式


PIPIONE
浏览 99回答 1
1回答

阿晨1998

如果添加 id 是可以接受的,你可以保存它然后更新$post= new Post();$post->title = Input::get('title');// you don't set slug here// ...$post->save();$post->update(['slug' => str_slug($post->title).'-'.$post->id]);如果行update不工作(可能是因为可填充),你应该使用:$post->slug = str_slug($post->title).'-'.$post->id; $post->save();而不是这条线。
随时随地看视频慕课网APP
我要回答