我正在使用Laravel 5.3。我正在尝试将一些输入从View传递给Controller。以下是我现在在视图中所做的事情:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/update/company') }}">
{{ csrf_field() }}
<input name="_method" type="hidden" value="PUT">
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-4 control-label">Name</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus>
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
Register
</button>
</div>
</div>
</form>
以下是路线:
Route::put('/update/company', [
'as' => 'updateCompany',
'uses' => 'Auth\RegisterController@update'
]);
这是控制器:
public function update(Request $request){
$compEmail = $this->companyEmail;
if( ! $compEmail)
{
echo "Email Invalid";
}
$user = User::all()->where("email", $compEmail)->first();
if ( ! $user)
{
echo "Invalid Company";
}
$user->name = $request->input('name');
$user->confirmed = 1;
$user->confirmation_code = null;
$user->save();
}
这给了我错误:
在$ user-&gt; name =行上从空值创建默认对象 $请求 - &GT;输入( '姓名');
任何提示?
答案 0 :(得分:2)
如果您还没找到任何if ( ! $user) {
echo "Invalid Company";
}
:
$user->name = $request->input('name');
$user->confirmed = 1;
$user->confirmation_code = null;
你没有在这里返回方法:
null
您尝试访问$user
空变量
return
值的字段
您应在此处添加if ( ! $user) {
echo "Invalid Company";
return;
}
:
ArticleCreate()