【问题标题】:Laravel is not grabbing all my input valuesLaravel 没有获取我所有的输入值
【发布时间】:2019-04-26 00:35:52
【问题描述】:

我是 laravel 的新手,我一直在尝试获取表单输入值并提交到数据库,但我遇到了错误。 如果您能帮我查看并帮助检查我缺少输入值的位置,我会很高兴。

[2018-11-23 11:20:26] development.ERROR: SQLSTATE[23000]: Integrity 违反约束:1048 列“local_govt_id”不能为空(SQL: 插入users_signedups (state_id, local_govt_id, first_name, surname, phone_number, date_of_birth, title, education_level_id, discipline, work_address, res_address, occupation, gender, marital_status, make_donations, be_a_member, be_a_volunteer, about_you, email, password, updated_at, created_at) 值 (1, , , , , , , , , , , , , , , , , , lawalmariamyetunde@gmail.com, , 2018-11-23 11:20:23, 2018-11-23 11:20:23)) {"异常":"[对象] (照亮\数据库\查询异常(代码:23000):SQLSTATE [23000]: 完整性约束违规:1048 列“local_govt_id”不能 null (SQL: 插入users_signedups (state_id, local_govt_id, first_name, surname, phone_number, date_of_birth, title, education_level_id, discipline, work_address, res_address, occupation, gender, marital_status, make_donations, be_a_member, be_a_volunteer, about_you, email, password, updated_at, created_at) 值 (1, , , , , , , , , , , , , , , , , , app@gmail.com, , 2018-11-23 11:20:23, 2018-11-23 11:20:23)) 在 C:\用户\用户\

我的控制器是

namespace App\Http\Controllers;

use Illuminate\Http\Request;
//use App\Http\Controllers\Controller;
use App\users_signedup;



class UsersSignedupController extends Controller
{


    public function signup(Request $request)
    {

        return view('signup');
    }


    public function postUserSignupDetails(Request $request)
    {

        $validatedData = $request->validate([
            'state_id' => 'required',
            'local_govt_id' => 'required',
            'first_name' => 'required',
            'surname' => 'required',
            'phone_number' => 'required',
            'date_of_birth' => 'required',
            'title' => 'required',
            'education_level_id' => 'required|numeric',
            'discipline' => 'required',
            'res_address' => 'required',
            'work_address' => 'required',
            'occupation' => 'required',
            'gender' => 'required|numeric',
            'marital_status' => 'required|numeric',
            'make_donations' => 'numeric',
            'be_a_member' => 'numeric',
            'be_a_volunteer' => 'numeric',
            'about_you' => 'required',
            'email' => 'required|unique:users_signedups',
            'password' => 'required'

        ]);




    }

    public function store(Request $request)
    {
       // $users_signedup = $request->session()->get('users_signedup');
        $userModel = new users_signedup;

        //$userModel = new UserModel;
//        dd($request->email);
//        $request->state_id
        $userModel->state_id = $request->state_id;
        $userModel->local_govt_id = $request->local_govt_id;
        $userModel->first_name = $request->first_name;
        $userModel->surname = $request->surname;
        $userModel->phone_number = $request->phone_number;
        $userModel->date_of_birth = $request->date_of_birth;
        $userModel->title = $request->title;
        $userModel->education_level_id = $request->education_level_id;
        $userModel->discipline = $request->discipline;
        $userModel->work_address = $request->work_address;
        $userModel->res_address = $request->res_address;
        $userModel->occupation = $request->occupation;
        $userModel->gender = $request->gender;
        $userModel->marital_status = $request->marital_status;
        $userModel->make_donations = $request->make_donations;
        $userModel->be_a_member = $request->be_a_member;
        $userModel->be_a_volunteer = $request->be_a_volunteer;
        $userModel->about_you = $request->about_you;
        $userModel->email = $request->email;
        $userModel->password = $request->password;
       $userModel->save();


        return redirect('/signup/success');
    }

我的模型是

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class users_signedup extends Model
{
    protected $guarded = [];
}

我的看法是

<form action="signup/store" method="post">
                            {{ csrf_field() }}
                            <div class="col-sm-6">
                                <div class="form-group">

                                    <select class="form-control"  name="state_id" placeholder="Choose your State of Residence" required>
                                        <option value="">Choose your State of Residence</option>
                                        <option value="1">Abia State</option>


                                    </select>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">

                                    <select class="form-control"  name="local_govt_id" placeholder="Choose your Local Government Area" required>
                                        <option value="">Choose your Local Government Area</option>
                                        <option value="1">Umahia</option>

                                    </select>
                                </div>
                            </div>

                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="first_name" placeholder="First Name" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="surname" placeholder="Surname" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="phone_number" placeholder="Phone" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="date_of_birth" placeholder="Date of Birth" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">

                                    <select class="form-control"  name="title" placeholder="Title" required>
                                        <option value="">Choose your Title</option>
                                        <option value="Mr">Mr</option>
                                        <option value="Mrs">Mrs</option>
                                        <option value="Ms">Ms</option>
                                        <option value="Miss">Miss</option>
                                        <option value="Prof">Prof</option>
                                        <option value="Chief">Chief</option>
                                        <option value="Dr.">Dr.</option>
                                        <option value="Hon.">Hon.</option>



                                    </select>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="marital_status" placeholder="Marital Status" required>
                                </div>
                            </div>

                            <div class="col-sm-6">
                                <div class="form-group">

                                    <select class="form-control"  name="education_level_id" placeholder="Education Level" required>
                                        <option value="">Choose your Education Level</option>
                                        <option value="none">No Education</option>
                                        <option value="primary">Primary</option>
                                        <option value="secondary">Secondary</option>
                                        <option value="tertiary">Tertiary</option>

                                    </select>
                                </div>
                            </div>

                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="discipline" placeholder="Discipline" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <textarea class="form-control" name="res_address" data-gramm="true" spellcheck="false" data-gramm_editor="true" placeholder="Residential Address" required="required"></textarea>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <textarea class="form-control" name="work_address" data-gramm="true" spellcheck="false" data-gramm_editor="true" placeholder="Workplace Address" required="required">
                                        {{ route('signup') }}
                                        {{ csrf_field() }}

                                    </textarea>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="occupation" placeholder="Occupation" required>
                                </div>
                            </div>

                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="email" name="email" placeholder="Email" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    <input class="form-control" type="text" name="password" placeholder="Password" required>
                                </div>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    {{--<div class="g-recaptcha" data-sitekey="6LfXfnwUAAAAAIJW_OYS6viKZ-ydqSn5_-obFdys"></div>--}}
                                </div>
                            </div>



                            <div class="col-sm-12">
                                <div class="form-group">

                                </div>
                                <button class="sub-btn donate-btn more-btn hvr-shutter-out-horizontal">send</button>
                            </div>
                        </form>

【问题讨论】:

  • 错误与其他有关。您提供的数据不符合表格限制。

标签: php mysql laravel


【解决方案1】:

您目前只是从请求对象中调用字段的名称。正确的代码是

$model->input = $request->input('input_name');

查看here 了解更多信息。

【讨论】:

    【解决方案2】:

    你应该试试这个:

    $inputData = $request->all()
    
    users_signedup::create($inputData);
    

    DB::table('users_signedup')->insert($inputData);
    

    【讨论】:

      【解决方案3】:
      <option value="***enter default value***">Choose your Local Government Area</option> 
      

      您需要强制用户选择一个选项,或者您可以指定一个默认值。
      您也可以在您的数据库中将此字段设为可为空或使用默认值。
      请检查有关空选项的所有输入。除了这个,你的整个代码对我来说都很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-29
        • 2019-05-26
        • 2015-07-13
        • 1970-01-01
        • 2011-02-04
        • 1970-01-01
        相关资源
        最近更新 更多