表格更新与关系laravel

时间:2016-04-27 15:34:39

标签: php mysql forms laravel eloquent

我有2个关系表的表单更新

用户表-id -username - firstname -lastname 地址表-id -user_id -street -number -town -zip

我需要一个表单来修改我的用户表和地址表

在我的用户模型中

 public function adresse()
{
    return $this->hasOne('Adresse');
}

Adresse Model

public function user(){
    return $this->belongsTo('User');
}

对于表格中的udpate用户而言,我对用户名邮件姓氏和名字的更新是正常的。

我的视图与模型关联

 {{ Form::model($users->toArray() + $adress->toArray(),['route'=>['users.update',$users->id],'method'=>'PUT','files'=>true,"class"=>"clearfix","id"=>"profil-form"])}}
{{Form::text('lastname',Input::old('lastname'),array('class'=>'valid','id'=>'contact_lastname',"placeholder"=>"Votre nom"))}}
 {{ Form::text('firstname',Input::old('firstname'),array('class'=>'valid',"id"=>"contact_firstname","placeholder"=>"Votre prénom")) }}
{{ Form::text('username',Input::old('username'),array('class'=>'valid',"id"=>"contact_pseudo","placeholder"=>"Votre pseudo")) }}
{{ Form::text('street',Input::old('street'),array('class'=>'valid',"id"=>"contact_street")) }}
{{ Form::text('zip',Input::old('zip'),array('class'=>'valid',"id"=>"contact_zip")) }}

{{ Form::submit('Sauvegarder',array('id'=>'submit-contact',"class"=>"green-sea-flat-button")) }}

              {{Form::close()}}

我的UsersController

public function edit($id){

$user = User::find($id);

$validator =  Validator::make(Input::all(),User::$rules);
}

public function update($id){

    $rules =[
        'lastname' => 'min:3|string',
        'firstname' => 'min:3|string',
        'username'=> 'min:4|unique:users',
        'mail'    => ' email|unique:users',
        'birthday' => 'date_format:d-m-Y|before:today',
        'country'=>'min:3',
        'type_street'=>'min:3',
        'number'=>'min:1|numeric',
        'street'=>'min:4|string',
        'complementary_street'=>'min:2|string',
        'town'=>'min:2|string',
        'zip'=>'min:4|numeric',
        'phone_home'=>'min:10|numeric',
        'phone_mobile'=>'min:10|numeric',
        'image_path'=>'image|max:1000|mimes:jpeg,jpg,png',
    ];

    $validator = Validator::make(Input::all(),$rules);

    if($validator->fails()){
        return Redirect::to('/profil/'.$id)
            ->with('alert_error','Merci de corriger les erreurs');
        /*return Redirect::to('/profil/'.$id)
            ->withErrors($validator)
            ->withInput(Input::except('password'));*/

    }else{
        //updating users profil $id
        $user = User::find($id);

        $user->lastname     =   Input::get('lastname');
        $user->firstname    =   Input::get('firstname');
        $user->username     =   Input::get('username');
        $user->mail         =   Input::get('mail');
        $user->mail         =   Input::get('mail');
        $user->birthday     =   Input::get('birthday');

        $user->adresse()->type_street  =   Input::get('type_street');
        $user->adresse()->number       =   Input::get('number');
        $user->adresse()->street       =   Input::get('street');
        $user->adresse()->complementary_street       =   Input::get('complementary_street');
        $user->adresse()->town         =   Input::get('town');
        $user->adresse()->zip          =   Input::get('zip');
        $user->adresse()->country      =   Input::get('country');

        $user->save();

        return Redirect::to('/profil/'.$id)
            ->with('alert_success','Votre profil est modifié avec succès.');


    }


}

你能给我一些帮助。

0 个答案:

没有答案