SQLSTATE [23000]:违反完整性约束:1048列'title'不能为空(SQL:插入posts
(title
,body
,updated_at
,{ {1}})值(?,?,2019-10-14 17:41:00,2019-10-14 17:41:00))
控制器(CRUD)控制器
created_at
模型(后模型)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\post;
class postcontroller extends Controller
{
public function store(Request $request)
{
$add = new post;
$add->title= $request->input('title');
$add->body= $request->input('body');;
$add->save();
session()->flash('msg','new post added successfully!');
return redirect()->route('posts.show',$add->id);
}
view->(这只是使用laravelcollective的一种方式)
答案 0 :(得分:1)
您似乎为标题发送了空值,并且为了更早地在应用程序中发现验证错误,您应该考虑在控制器中引入一些验证功能
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\post;
class postcontroller extends Controller
{
public function store(Request $request)
{
$request->validate([
'title' => 'required',
'body' => 'required',
]);
$add = Post::create([
'title' => $request->input('title'),
'body' => $request->input('body')
]);
session()->flash('msg','new post added successfully!');
return redirect()->route('posts.show', $add->id);
}
确保已正确设置表单中的title
和body
字段
<form><!-- / Dont forget the action, crf and other required attr of form -->
<input type="text" name="title">
<textarea name="body"></textarea>
</form>
通过https://laravel.com/docs/master/validation#validation-quickstart
了解有关表单验证的更多信息