【发布时间】:2021-09-17 21:25:55
【问题描述】:
即使迁移表中存在该列也会出错。
SQLSTATE[42S22]:未找到列:1054 中的未知列“名称” '字段列表' (SQL: 插入
tasks(name,description,statuse_id,updated_at,created_at) 值 (Padaryti pietus, fsd, 2, 2021-07-07 09:45:47, 2021-07-07 09:45:47))
迁移
Schema::create('tasks', function (Blueprint $table) {
$table->id();
$table->string('task_name', 128);
$table->text('task_description');
$table->unsignedBigInteger('statuse_id');
$table->foreign('statuse_id')->references('id')->on('statuses');
$table->timestamps();
});
任务控制器
public function store(Request $request)
{
$validator = Validator::make($request->all(),
[
'task_name' => ['required', 'min:3', 'max:128'],
'task_description' => ['required'],
'statuse_id' => ['required', 'integer', 'min:1'],
]
);
if ($validator->fails()) {
$request->flash();
return redirect()->back()->withErrors($validator);
}
$task = new Task;
$task->name = $request->task_name;
$task->description = $request->task_description;
$task->statuse_id = $request->statuse_id;
$task->save();
return redirect()->route('task.index')
->with('success_message', 'New task created successfuly');
}
任务 create.blade.html
<form method="POST" action="{{ route('task.store') }}">
<div class="form-group">
<label>Name:</label>
<input type="text" name="task_name" class="form-control"
value="{{old('task_name')}}">
<small class="form-text text-muted">Add a task name</small>
</div>
<label>Description:</label>
<textarea name="task_description" id="summernote">
{!!old('task_description')!!}
</textarea>
<small class="form-text text-muted">Add task description</small>
<div class="form-group">
<select name="statuse_id">
@foreach ($statuses as $statuse)
<option value="{{$statuse->id}}">{{$statuse->name}}</option>
@endforeach
</select>
<small class="form-text text-muted">Select a status</small>
</div>
@csrf
<button type="submit" class="btn">ADD</button>
</form>
我在 PhpMyAdmin 的数据库表中看到 task_name。这种情况下这个错误有什么解决办法?
【问题讨论】:
-
你的
Task有name,而不是task_name
标签: php sql database laravel migration