You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel如何通过控制器向数据库存数据?数据无法存入排障求助

问题排查及修复方案

你代码里存在以下几处错误:

  • 表单提交地址不匹配:Blade模板中表单的action属性写的是/store,但你定义的POST路由是/reject,请求无法进入对应处理方法
  • 模型引用错误:你的模型类名为RejectionReasons,但控制器中调用时写成了RejectionReason(少了末尾的s),且没有引入模型的命名空间,会触发类不存在的报错
  • 缺少CSRF校验:Laravel POST请求默认需要验证CSRF令牌,你的表单中没有添加@csrf指令,请求会被直接拦截
  • 字段类型不匹配:你表单提交的reason_title是数组格式,直接赋值给字符串类型的数据库字段会触发类型错误

修复后的代码示例

1. Blade模板

<div class="form-check">
    <form action="/reject" class="textbox" method="POST">
        @csrf
        <h5><b> 选择驳回原因: </b></h5>
        <input type="checkbox" id="rejectReason1" name='reason_title[]' value='No responce'> 无响应 <br>
        <label for="Rejection">
            <input type="checkbox" id="rejectReason2" name='reason_title[]' value='Skills mismatch'> 技能不匹配
        </label>
        <br />
        <div id="txtReasonRejected1" style="display: none">
            <input type="text" id="Reasons1" />
        </div>
        <input type="checkbox" id="rejectReason3" name='reason_title[]' value='Culture mismatch'> 文化不匹配 <br>
        <input type="checkbox" id="rejectReason4" name='reason_title[]' value='Salary  expectation mismatch'> 薪资预期不匹配 <br>
        <label for="Rejection">
            <input type="checkbox" id="rejectReason5" name='reason_title[]' value='Not enough knowledge/inclination for ColoredCow'> 对ColoredCow了解不足/认可度不够
        </label>
        <br />
        <div id="txtReasonRejected2" style="display: none">
            <input type="text" id="Reasons2" />
        </div>
        <button type="submit">驳回</button>
    </form>
</div>

2. 控制器文件

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\RejectionReasons;

class RejectionReasonsController extends Controller
{
    public function index(){
        $record = RejectionReasons::all();
        return view('reject');
    }

    public function store(Request $request){
        $validated = $request->validate([
            'reason_title' => 'required|array',
            'reason_title.*' => 'string'
        ]);

        foreach ($validated['reason_title'] as $reason) {
            RejectionReasons::create([
                'reason_title' => $reason
            ]);
        }

        return redirect('/routes');
    }
}

模型文件你已经正确配置了$fillable,无需修改。

内容的提问来源于stack exchange,提问作者Kick B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:06:00