Как обновить базу данных MySQL после изменения значения представления - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть проект этого спортивного веб-сайта, написанный на Codeigniter / AngularJs, и я застрял в связи между представлением / контроллером / моделью.

Есть эта функция, которая обновляет точки зрения пользователя, тогда я должен использовать этот сервис dataSavingHttp для обновления базы данных, но я действительно запутался в ее функциональности

Контроллер View Angularjs

$scope.buy_salary_cap = function() {
    $scope.remainSalary = parseInt($scope.contestDetails.salary_cap/10) + parseInt($scope.remainSalary);
    $rootScope.profile_data.points_balance = parseInt($rootScope.profile_data.points_balance) + parseInt(1);

    dataSavingHttp({
        url: site_url+"lineup/update_user_points_balance",
        data: {},
    }).success(function (response) {
        $scope.content = response.data.points_balance;
    }).error(function (error) {
        $scope.content = "Erro!";
    });


    $scope.isDisabled = true;
}

Контроллер Codeigniter

   private function update_user_points_balance()
{
    return $this->Lineup_model->update_user_points_balance();
}

Функция модели

    public function update_user_points_balance()
{
    $condition = array('user_id' => $this->session->userdata('user_id'));
    $config['points_balance'] = $this->remain_balance;
    $this->table_name = USER;
    return $this->update($condition , $config);
}

Вот данные, сохраняющие код Http

vfantasy.factory('dataSavingHttp', function($http, $location) {
var wrapper = function(requestConfig) {
    var options = angular.extend({
        url: "",
        method: "POST",
        data : '',
        dataType: "json",
    },requestConfig);

    var httpPromise = $http(options);

    httpPromise.success(function(result, status, headers, config){
        var l = window.location;
        wrapper.lastApiCallConfig = config;
        wrapper.lastApiCallUri = l.protocol + '//' + l.host + '' + config.url + '?' +
            (function(params){
                var pairs = [];
                angular.forEach(params, function(val, key){
                    pairs.push(encodeURIComponent(key)+'='+encodeURIComponent(val));
                });
                return pairs.join('&')
            })(config.params);
        wrapper.lastApiCallResult = result;
    })
    return httpPromise;
};
return wrapper;
});

Может быть, есть более простое решение, но я действительно новичок в этих языках. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...