public function store(Request $request)
    {
        // insert key and value in settings table
        $settings = Settings::all()->keyBy('settingsKey')->toArray();

        foreach ($request->form as $key => $value){
            if(!isset($settings[$key])) {
                $settings[$key] = ["settingsKey" => $key, "value" => $value];
            }
            $settings[$key]['value'] = ($value ? $value : null);
        }

        if(Settings::truncate()) {
            Settings::insert($settings);
        }

        // if request is being made from general settings
        if($request->settingsType == 'general') {
            if(isset($settings['defaultLanguage']) 
                && ((int) $settings['defaultLanguage']['value'] !== Language::getDefault()->languageID)
            ) {
                    // remove the current default language ( set it to non-default ) if this new one is the default
                    Language::where('isDefault', 1)->update(['isDefault' => 0]);
                    // set the new default language
                    $defaultLanguage = $request->form['defaultLanguage'];
                    Language::find($defaultLanguage)->update(['isDefault' => 1]);
            }

        }

        return $this->response('Settings are saved', 200);
    }
public function store(Request $request)
    {
        // insert key and value in settings table
        $settings = Settings::all()->keyBy('settingsKey')->toArray();

        foreach ($request->form as $key => $value){
            if(!isset($settings[$key])) {
                $settings[$key] = ["settingsKey" => $key, "value" => $value];
            }
            $settings[$key]['value'] = ($value ? $value : null);
        }

        if(Settings::truncate()) {
            Settings::insert($settings);
        }

        // if request is being made from general settings
        if($request->settingsType == 'general') {
            if(isset($settings['defaultLanguage']) 
                && ((int) $settings['defaultLanguage']['value'] !== Language::getDefault()->languageID)
            ) {
                    // remove the current default language ( set it to non-default ) if this new one is the default
                    Language::where('isDefault', 1)->update(['isDefault' => 0]);
                    // set the new default language
                    $defaultLanguage = $request->form['defaultLanguage'];
                    Language::find($defaultLanguage)->update(['isDefault' => 1]);
            }

        }

        return $this->response('Settings are saved', 200);
    }
public function store ( Request $ request ) { // insert key and value in settings table $ settings = Settings :: all ( ) -> keyBy ( 'settingsKey' ) -> toArray ( ) ; foreach ( $ request -> form as $ key => $ value ) { if ( ! isset ( $ settings [ $ key ] ) ) { $ settings [ $ key ] = [ "settingsKey" => $ key , "value" => $ value ] ; } $ settings [ $ key ] [ 'value' ] = ( $ value ? $ value : null ) ; } if ( Settings :: truncate ( ) ) { Settings :: insert ( $ settings ) ; } // if request is being made from general settings if ( $ request -> settingsType == 'general' ) { if ( isset ( $ settings [ 'defaultLanguage' ] ) && ( ( int ) $ settings [ 'defaultLanguage' ] [ 'value' ] !== Language :: getDefault ( ) -> languageID ) ) { // remove the current default language ( set it to non-default ) if this new one is the default Language :: where ( 'isDefault' , 1 ) -> update ( [ 'isDefault' => 0 ] ) ; // set the new default language $ defaultLanguage = $ request -> form [ 'defaultLanguage' ] ; Language :: find ( $ defaultLanguage ) -> update ( [ 'isDefault' => 1 ] ) ; } } return $ this -> response ( 'Settings are saved' , 200 ) ; }
Store all settings in the database.

@param  Request $request
@return array
Store all settings in the database .