gpt4 book ai didi

php - Laravel 从表单输入中将 "null"插入数据库。

转载 作者:行者123 更新时间:2023-11-30 22:15:49 25 4
gpt4 key购买 nike

这是我遇到的一个奇怪的问题。我有一个表格,其中包含名字、姓氏、职位、电子邮件和电话,该表格将这些数据输入到我在数据库中设置的 ContactPerson 表中。

当我填写表格并点击提交时,只有职位、电子邮件和电话号码被正确插入到数据库中。名字和姓氏作为 NULL 插入。

这是我使用 PHPstorm 和 Laravel 2.5.3 的一些代码

我的创建新联系人 View :

<h1 style="text-align:center;">Add A New Contact Person</h1>

<hr/>

{!! Form::open(['url' => '/create']) !!}

<span style="text-align:center;align-content:right;display:block; margin-right:auto;margin-left:auto;">

<div class="form">
{!! Form::label('first', 'First Name: ') !!}
{!! Form::text('First', null, ['class' => 'form']) !!}
</div>

<div class="form">
{!! Form::label('last', 'Last Name: ') !!}
{!! Form::text('Last', null, ['class' => 'form']) !!}
</div>

<div class="form">
{!! Form::label('title', 'Title: ') !!}
{!! Form::text('Title', null, ['class' => 'form']) !!}
</div>

<div class="form">
{!! Form::label('email', 'Email: ') !!}
{!! Form::text('Email', null, ['class' => 'form']) !!}
</div>

<div class="form">
{!! Form::label('phone', 'Phone: ') !!}
{!! Form::text('Phone', null, ['class' => 'form']) !!}
</div>

{!! Form::submit('Submit', ['class' => 'btn btn-primary form']) !!}

</span>
{!! Form::close() !!}

这是我创建的名为 ResourceController 的 Controller :

class ResourceController extends Controller
{
public function resource()
{
$contacts = ContactPerson::all();

return view('pages.resource', compact('contacts'));
}

public function create()
{
return view('pages.create');
}

public function store(Requests\CreateNewContactRequest $request)
{
ContactPerson::create($request->all());

return redirect('resource');
}
}

这是我在 CreateNewContactRequest 类中为表单设置的验证:

public function rules()
{
return [
'First' => 'required|min:2',
'Last' => 'required|min:1',
'Title' => 'required|min:2',
'Email' => 'required|Email|unique:users',
'Phone' => 'required|numeric|min:9'
];
}

这是我填写/提交表格时的样子。

Creating new contact

点击提交后,它重定向到数据库转储: after submitting

插入后数据库的 View : database

最佳答案

查看您的转储详细信息,您的字段名称需要与您的表单名称匹配,反之亦然,因此您的表单名称需要更改为:

   <div class="form">
{!! Form::label('first', 'First Name: ') !!}
{!! Form::text('First_Name', null, ['class' => 'form']) !!}
</div>

<div class="form">
{!! Form::label('last', 'Last Name: ') !!}
{!! Form::text('Last_Name', null, ['class' => 'form']) !!}
</div>

EG for field name First_Name 您的输入需要命名为相同的 name="First_Name"

还要确保您的可填写详细信息也是正确的

 protected $fillable = ['First_Name','Last_Name','Title','Email','Phone'];

关于php - Laravel 从表单输入中将 "null"插入数据库。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38317072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com