当我创建第一个帖子时,它成功地创建了,但是当我创建另一个帖子时,我得到了这个错误,我的slug无法工作。
这是错误:
“sqlstate[23000]:完整性约束冲突:1062键”“posts\u slug\u unique”“的重复条目”“1”“(sql:insert into” posts
( title
, body
, updated_at
, created_at
)价值观(gacho第二岗位,gacho第二岗位主体,2018-08-10 15:19:30,2018-08-10 15:19:30))
这是我的密码。
class AddSlugToPosts extends Migration
{
public function up()
{
Schema::table('posts', function ($table) {
$table->string('slug')->unique()->after('body')->default();
});
}
public function down()
{
Schema::table('posts', function ($table) {
$table->dropColumn('slug');
});
}
}
public function rules()
{
return [
'title' => 'required|max:255',
'body' => 'required',
'slug' => 'required|alpha_dash|min:5|max:255|unique:posts,slug'
];
}
public function store(PostRequest $request)
{
$post = Post::create($request->all());
Session::flash('success', 'The blog post was successfully saved!');
return redirect()->route('posts.show', $post->id);
}
1条答案
按热度按时间esbemjvw1#
您应该首先从迁移中删除default()。
希望您已经将默认值设置为1,这是第二次保存。
可能的错误
1-你没有像这样在模型中的可填充数组中添加slug。
2-您用错误的名称调用slug,或者根本没有发送slug请求。如果不是从窗体发送,请在控制器中创建它。
3-slug字段名与数据库中的列名不同。