0

我正在尝试使用 SQL 函数替换来替换数据库中存在的 ID (users_id)。如何将它与 Eloquent 一起使用。我尝试使用four.laravel.com 中提供的文档。但还是想不通。每次我尝试“更新”用户信息时,它都会创建一个具有相同 ID 的新记录

控制器

        public function getUserInformation() {
            $user_zip_codes = DB::table('users')
                    ->join('zip_codes', 'zip_code', '=', 'user_zip_code')
                    ->where('id', Auth::user()->id)->first();
            $userdata = array(
            'user_id' => Auth::user()->id,
            'first_name' => Input::get('first_name'),
            'last_name' => Input::get('last_name'),
            'street_1' => Input::get('street_1'),  
            'street_2' => Input::get('street_2'),  
            'apartment' => Input::get('apartment'),
            'street_2' => Input::get('street_2'),  
            'apartment' => Input::get('apartment'),
            'user_zip_code' => $user_zip_codes->zip_code,
            'city' => $user_zip_codes->city,
            'state' => 'Alabama'
            );
            $user = new UsersInformation($userdata);
            $user->save();

            return Redirect::to('dashboard');
    }

如果您需要其他代码,请告诉我!谢谢!

4

1 回答 1

0

那么你需要调用更新方法而不是像文档中那样保存:

Laravel 文档: http ://laravel.com/docs/eloquent#insert-update-delete

    public function getUserInformation() {
        $user_zip_codes = DB::table('users')
                ->join('zip_codes', 'zip_code', '=', 'user_zip_code')
                ->where('id', Auth::user()->id)->first();
        Auth::user()->update(array(
        'first_name' => Input::get('first_name'),
        'last_name' => Input::get('last_name'),
        'street_1' => Input::get('street_1'),  
        'street_2' => Input::get('street_2'),  
        'apartment' => Input::get('apartment'),
        'street_2' => Input::get('street_2'),  
        'apartment' => Input::get('apartment'),
        'user_zip_code' => $user_zip_codes->zip_code,
        'city' => $user_zip_codes->city,
        'state' => 'Alabama'
        ));
        return Redirect::to('dashboard');
}
于 2013-08-21T05:42:29.823 回答