我以这种方式使用帖子标题中的 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”,这两个帖子会发生冲突。我怎样才能解决这个问题?尚未找到可行的直接方式
1 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
如果添加 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();
而不是这条线。
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消