【发布时间】:2015-04-09 12:16:33
【问题描述】:
在我的应用中,我有几个模型:用户和个人资料。用户模型仅适用于公司,我的应用程序仅适用于公司。用户注册时,只需填写姓名、电子邮件地址和密码。我的个人资料模型有公司名称、地址等列。我的个人资料表格不起作用;不保存到数据库。这是设置:
表单控制器:
public function update($company_name)
{
$user = User::whereCompanyName($company_name)->firstOrFail();
$user->fill(Input::all());
$user->save();
flash('You have successfully edited your profile');
return redirect('/');
}
用户.php:
public function profile()
{
return $this->hasOne('Profile');
}
Profile.php:
protected $fillable = ['company_name', 'company_logo', 'company_founded'];
public function user()
{
return $this->belongsTo('App\User', 'user_id','ID');
}
表格:
{!! Form::model($user, array('method' => 'PATCH', 'route' => array('profile.update', $user->company_name), 'files' => true)) !!}
{!! Form::hidden('user_id', Auth::user()->id) !!}
// more fields
<div class="form-group">
{!! Form::label('company_name', 'Company Name') !!}
{!! Form::text('company_name', null, ['class' => 'form-control']) !!}
</div>
{!! Form::submit('Update Profile', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
我是否设置了正确的关系?没有任何内容保存到数据库中。
【问题讨论】:
-
从您的控制器中向我们提供一些代码。
-
@mininoz 刚刚意识到。更新了
-
另外不要忘记在 User.php 中更改
profile():return $this->hasOne('App\Profile');
标签: laravel relationship laravel-5