首先声明,我不知道自己在干什么... 我有一个名为user_info的表格,长这个样子:
Schema::create('user_info', function(Blueprint $table){
$table->increments('id');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
$table->string('address');
$table->string('city');
$table->string('state');
$table->string('zip');
$table->text('description');
$table->text('experience');
$table->timestamps();
});
我正在尝试创建更新控制器,目前它看起来像这样。
public function update(Request $request)
{
$user = $request->user();
$data['description'] = $request->input('description');
$data['experience']=$request->input('experience');
$user->user_info -> $data->save();
}
再次...不知道我在做什么...
这是我的表格:
<div class='col-md-10 well form-well'>
{!! Form::open(['method' => 'PATCH', 'action'=> ['UserController@update', Request::user()->id]]) !!}
<div class='row'>
<div class='form-group'>
<div class='col-md-2'>
{!! Form::label('description', 'About You')!!}
</div>
<div class='col-md-7'>
{!! Form::textarea('description', null, ['class'=>'form-control', 'rows'=>'3'])!!}
</div>
</div>
</div>
<div class='row'>
<div class='form-group'>
<div class='col-md-2'>
{!! Form::label('experience', 'Experience and Skills')!!}
</div>
<div class='col-md-7'>
{!! Form::text('experience', null, ['class'=>'form-control'])!!}
</div>
</div>
</div>
<div class='form-group'>
{!! Form::submit('Save Changes',['class'=> 'btn btn-md btn-success']) !!}
{!! Form::close()!!}
</div>
更新:我成功地按照以下方式进行了更新:
$user->user_info->description = $data['description'];
$user->user_info->experience = $data['experience'];
$user->user_info->save();
但是我能不能像这样做些什么:
但是,我可以以某种方式做到类似以下操作吗:
$user->user_info->$request::Input::all();
$user->user_info->save();
$user->user_info -> $data->save();
这是一行非常奇怪的代码... 页面是否报告了任何错误? - BlitZ$data->save()
或$user->user_info = $data->save();
这样的方法。 - BlitZCall to a member function save() on a non-object
时出现了此错误。 - jackjoesmith$request->input(...)
,并将它们的值赋给$user->user_info
,然后提交到$user->user_info->save();
。 - BlitZ