为了账号安全,请及时绑定邮箱和手机立即绑定

octobercms 中同名的唯一 slug

octobercms 中同名的唯一 slug

PHP
PIPIONE 2022-07-16 10:48:30
我以这种方式使用帖子标题中的 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();

而不是这条线。


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信