0
我想允许用户更新他们的个人资料页面上创建的,但是我得到一个错误信息说我试图尝试给非对象的属性非对象的属性:Laravel尝试分配
但是用户和twitter确实有价值。
在数据库字段中被称为twitter_personal,当然id是一个id。
控制器:
function updateProfile(Request $request) {
$user = Auth::id();
$twitter = $request->input('twitter');
$user->twitter_personal = $twitter;
$user->save();
if($user->save()) {
$message = 'Success';
}else{
$message = 'Error';
}
return redirect()->back()->withInput()->with('message', $message);
}
形式:
<form class="form-horizontal" role="form" method="POST" action="{{ action('[email protected]') }}">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('url') ? ' has-error' : '' }}">
<label for="twitter" class="col-md-4 control-label">Twitter</label>
<div class="col-md-6">
<input id="twitter" type="text" class="form-control" name="twitter">
@if ($errors->has('url'))
<span class="help-block">
<strong>{{ $errors->first('url') }}</strong>
</span>
@endif
</div>
</div>
所以这里的问题,我该怎么解决呢?有没有更好的方法呢?如果是的话请举个例子!
'$ user'是'Auth :: id()',它是一个id。它应该是'Auth :: user()' – apokryfos
true,工作正常。这个功能是不错的做法吗?或者使用其他方法可以更好地完成//编辑将其作为答案,因此我可以标记它 – Przemek
有些人认为使用外墙不是好习惯。我认为laravel很好。如果你想避免使用'Auth'外观,你可以这样做:'$ request-> user()'而不是 – apokryfos