我正在尝试使用SQL函数replace来替换数据库中存在的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文档:http://laravel.com/docs/eloquent#insert-更新删除
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');
}