Laravel:保存编辑后

时间:2018-03-01 13:54:54

标签: laravel laravel-5.2 laravel-5.1 laravel-5.3

我有两个表,usertechnicien,具有一对一的关系。通过编辑表单编辑技术信息并保存后,数据库上没有更新,也没有错误。

这是我的代码:

控制器

public function edit($id)
{
    $technicien=technicien::find($id);
    $user = $technicien->user;
    return view('technicien.edit',['technicien'=>$technicien])->with('user',$user);
}

public function update(Request $request, $id)
{
    // do some request validation

    $technicien=technicien::find($id);
    $technicien->update($request->all());
    $technicien->user->update($request->get('user'));
    $user->nom = $request->update('nom');

    return redirect('/technicien');
}

查看

@extends('Layouts/app')
@extends('Layouts.master')
@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10">
            <h1>Modifier Technicien</h1>
        <form action="{{ route('technicien.update', $technicien->technicien  ) }}" method="update">
        {{csrf_field()}}
        {{ method_field('PATCH') }}


             <div class="form-group">
            <label for="nom">Nom</label>
            <input id="nom" type="text" class="form-control" name="user[nom]" value="{{$user->nom}}" >
        </div>
        <div class="form-group">
            <label for="prenom">Prenom</label>
            <input id="prenom" type="text" class="form-control" name="user[prenom]" value="{{$user->prenom}}" >
        </div>
        <div class="form-group">
            <label for="prenom">Email</label>
            <input id="prenom" type="text" class="form-control" name="user[email]" value="{{$user->email}}" >
        </div>

        <div class="form-group">
            <label for="">moyenne Avis</label>
            <input type="text"  name="moyenne_avis" class="form-control" value ="{{$technicien->moyenne_avis}}" >
        </div>
        <div class="form-group">
            <label for="">Etat Technicien</label>
            <input type="text"  name="actif" class="form-control" value ="{{$technicien->actif}}" >
        </div>

        <div class="form-group">
            <input type="submit" value="enregistrer" class="form-control btn btn-primary">
        </div>
            </div>




        </form>
    </div>
</div>
@endsection

route.php

Route::get('/technicien/{id}/edit', 'TechnicienController@edit');
Route::patch('/technicien/{id}', 'TechnicienController@update')-
>name('technicien.update');

1 个答案:

答案 0 :(得分:0)

您只需要传递参数以更新功能。

阅读docs

public function update(Request $request, $id)
{
   $technicien=technicien::find($id);
   $technicien->update($request->all());
   $technicien->user->update([
     'nom' => $request->nom,
     'premon' => $request->premon,
     'email' => $request->email
   ]);

   return redirect('/technicien');
}

同样来自docs

  

您应该定义所需的模型属性   使质量可分配。您可以使用$ fillable属性执行此操作   在模型上。