如果存在数据,则更新数据库字段


Updating db field if data is present

我的代码似乎无法100%工作。我正试图让我的代码以这样的方式工作:

如果列值为空($id = columnName),则插入该行。如果找到该$id的"值",则更新已保存在数据库中的值。

功能:

     $socialCheck = SocialSettings::where($id)->first();
       $socialInsert = new SocialSettings;
       $value        = Request::input('value'); 

       if(SocialSettings::where_not_null($id)){
           $socialInsert->$id = $value;
           $socialInsert->save();
   }else{
        $socialCheck->update($value);
   }
    }

下面是一个类似问题的例子

$user = User::firstOrNew(array('name' => Input::get('name')));
$user->foo = Input::get('foo');
$user->save();

像这个

$socialCheck = SocialSettings::firstOrNew(array('id' => $id));
$socialCheck = Request::input('value');
$socialCheck->save();

firstOrNew Laravel API DOCS