Я пытаюсь обновить одно поле в разделе формы моего профиля пользователя в приложении Laravel.
Я могу правильно сохранить поля в БД, но входные значения и заполнители принимают неправильные значения. При каждом нажатии Сохранить значения не меняются, и они берутся из последних перечисленных деталей профиля пользователя. В моем случае это пользователь № 3. Проблема в том, что когда я вхожу с учетными данными пользователя № 1, значение и заполнитель берутся у пользователя № 3. Когда я вхожу в систему с пользователем № 2, снова от пользователя № 3. Только значения пользователя # 3 являются правильными, и я могу манипулировать ими без проблем для обоих полей.
Когда я обновляю поля профиля пользователем # 1, он сохраняет введенное поле, но, поскольку 2-е поле наследует данные ввода пользователя № 3, он сохраняет его в поле 2 пользователя # 1, что делает неправильную запись , Я не могу оставить ноль в этих полях по умолчанию. Мое массовое задание защищено.
Как сохранить / обновить только одно поле в шаблоне блэйда, не затрагивая другие поля в форме?
Мои маршруты:
Route::get( '/profile', 'userController\\profileEdit@profileEdit')->name('profileEdit');
Route::post('/profile', 'userController\\profileEdit@update')->name('update');
Мой контроллер:
namespace App\Http\Controllers\userController;
use App\Model\Hause_users;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class profileEdit extends Controller
{
function profileEdit (Request $request){
$user = Hause_users::all();
$name = $request->session()->get('name');
$request->session()->keep([request('username', 'email')]);
return view('frontview.layouts.profile',['user'=>$user])->with('username' , $name );
}
function update (Request $request){
$user = Hause_users::where('username', $request->session()->get('name'))->first();
$user->fill(['email' => request('Email')]) ;
$user->save();
$user->phone;
//dd($user->phone->phone);
if ($user->phone === null) {
$user->phone->phone->create(['phone' => request('tel')]);
}
else{
$user->phone->update(['phone' => request('tel')]);
}
return back()->withInput();
}
Файл блейда: `
@extends('frontview.layouts.userView')
@extends('frontview.layouts.default')
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@section('title')
@endsection
@section('content')
@foreach($user as $v )
@endforeach
<h2 class="form-group col-md-6">Здравей, {{$username }} </h2>
<form class = "pb2" method="POST" name = 'profile' action='profile' >
{{ csrf_field()}}
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Поща</label>
<input type="email" class="form-control" name = "Email" id="inputEmail4"
value="{{$v['Email']}}"
placeholder="{{$v->Email}}">
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">Промени Парола</label>
<input type="password" class="form-control" id="inputPassword4" placeholder="Парола">
</div>
</div>
<div class="form-group">
<label for="inputAddress">Address</label>
<input type="text" class="form-control" name = "Adress" id="inputAddress" placeholder="Снежанка 2">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputAddress">Телефон</label>
<input class="form-control" type="text" name = 'tel' value="{{$v->phone['phone']}}"
placeholder="{{$v->phone['phone']}}"
id="example-tel-input" >
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputCity">Град</label><input type="text" class="form-control" id="inputCity">
<label for="inputCity">Квартал</label><input type="text" class="form-control" id="inputCity">
</div>
{{--<div class="col-md-6" >--}}
{{--<label for="image">Качи снимка</label>--}}
{{--<input type="file" name = "image">--}}
{{--<div>{{$errors->first('image') }}</div>--}}
{{--</div>--}}
</div>
{{--<div ><img src="https://mdbootstrap.com/img/Photos/Others/placeholder-avatar.jpg"--}}
{{--class="rounded-circle z-depth-1-half avatar-pic" alt="example placeholder avatar">--}}
{{--</div>--}}
{{--<div class="d-flex justify-content-center">--}}
{{--<div class="btn btn-mdb-color btn-rounded float-left">--}}
{{--<span>Add photo</span>--}}
{{--<input type="file">--}}
{{--</div>--}}
{{--</div>--}}
{{--</div>--}}
<div class="form-group">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
Запомни ме!
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Запази</button>
</form>
@endsection
@section('name')
{{ $username }}
@endsection
Сводка по выводу :
На img # 1 указаны правильные данные. Это другой раздел, а не раздел редактирования профиля. В настоящее время зарегистрированный пользователь U # 1, но, как вы можете видеть на рисунке 2, значения и заполнитель обоих полей относятся к U # 3. Когда я нажимаю синюю кнопку, U # 1 сохраняет нетронутые поля ввода U # 3. То же самое происходит, когда я вхожу с U # 2.