【发布时间】:2016-11-13 23:57:55
【问题描述】:
这是我遇到的一个奇怪问题。我有一个包含 First、Last、Title、Email 和 Phone 的表单,它将这些数据和输入输入到我在数据库中设置的 ContactPerson 表中。
当我填写表格并点击提交时,只有标题、电子邮件和电话号码被正确插入到数据库中。名字和姓氏作为 NULL 插入。
这是我使用 PHPstorm 和 Laravel 2.5.3 的一些代码
我的创建新联系人视图:
<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 的控制器:
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'
];
}
这是我填写/提交表单时的样子。
【问题讨论】:
-
检查字段名称是否与您的架构匹配,以及可填充变量是否具有所有这些字段,以便他们可以添加到。