【问题标题】:Laravel 4: "Replace" Eloquent instead of "Select"Laravel 4:“替换”雄辩而不是“选择”
【发布时间】:2013-08-23 05:42:46
【问题描述】:

我正在尝试使用 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');
    }

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

【问题讨论】:

  • 我不是 laravel 用户,但是,我知道您使用经过身份验证的用户的固定 id,创建用户并保存,我认为您必须首先找到具有他的 id 的用户和然后修改他的信息,保存?
  • 是的,我认为这就是我需要帮助的部分.. $user = new UsersInformation($userdata); $user->save();..应该更新...不使用插入。

标签: php mysql laravel laravel-4 eloquent


【解决方案1】:

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

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');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 2015-06-01
    相关资源
    最近更新 更多