Laravel将数据从视图传递到控制器

时间:2016-09-21 11:54:52

标签: php laravel-5

我正在使用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;输入( '姓名');

任何提示?

1 个答案:

答案 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()