public function update(Request $request, $user)
{
$user= User::find($user);
$user->name = $request->input('name');
$mobile= Mobile::find($user);
$mobile->id = $request->input('id');
$mobile->country_code = $request->input('country_code');
$mobile->phone_number = $request->input('phone_number');
$user->save();
return redirect('/dashboard')->with('alert-success', 'updated');
}
此代码对我不起作用...我想更新两个表中的值,一个表是(用户),第二个表是(移动)。
答案 0 :(得分:0)
您没有将对Mobile
模型的更改提交到数据库。
调用$model->save()
会将对模型对象 的那个实例的任何更改提交到数据库。
但是,您似乎使用了错误的值来“查找”移动模型。如果您正确使用了Laravel关系,那么我对该部分的编辑会有所帮助。
我倾向于在代码中单独处理对模型的更改,因此更具可读性。这是我的处理方式:
$user= User::find($user);
$user->name = $request->input('name');
$user->save();
$mobile = $user->mobile //this part relies on you having set up the relationship correctly.
$mobile->id = $request->input('id');
$mobile->country_code = $request->input('country_code');
$mobile->phone_number = $request->input('phone_number');
$mobile->save();
答案 1 :(得分:0)
<form class="" action="{{ route('user.update',$user->id) }}" method="POST" name="">
<input type="hidden" name="_method" value="PATCH">
<input type="text" name="id" value="{{$user->id}}">
{{ csrf_field() }}
<Input type="text" name="name" value="{{$user->name}}" >
<Input type="text" name="email" value="{{$user->email}}" >
@if($user->mobile)
<Input type="text" name="country_code" value="{{$user->mobile->country_code}}">
<Input type="text" name="phone_number" value=" {{$user->mobile->phone_number}}">
@else
<Input type="text" name="country_code" value="{{$user->mobile->country_code}}">
<Input type="text" name="phone_number" value=" {{$user->mobile->phone_number}}">
@endif
<button type="submit" class="btn btn-danger btn-sm" value="" >update</span></button>
<span class="pull-right">
</div>
它是我的edit.blade.php
用于编辑的控制器 $ editinfo = Mobile :: find($ user); 返回视图('edit',compact('user'));
答案 2 :(得分:0)
您没有在save()
实例上执行$mobile
您忘了添加$mobile->save()
答案 3 :(得分:0)
您可以使用tap()功能
$user= User::findOrFail($id);
$user_update = tap($user)->update([
'country_code' => $request->input('country_code'),
'phone_number' => $request->input('phone_number'),
]);