Codeigniter MySQL обновление таблицы - PullRequest
0 голосов
/ 18 марта 2020

У меня есть две таблицы в моем проекте Codeigniter, как показано ниже, путем объединения таблицы budget_id

finance_budget

+-----------+-------------+--------------+-----------------+
| budget_id | budget_date |    amount    | transfer_status |
+-----------+-------------+--------------+-----------------+
|         1 | 2020-03-10  |  500,000.00  | Pending         |
|         2 | 2020-03-11  |  600,000.00  | Pending         |
|         3 | 2020-03-12  |  400,000.00  | Pending         |
|         4 | 2020-03-13  |  200,000.00  | Pending         |
+-----------+-------------+--------------+-----------------+

таблица finance_budget_issue

+-----+-----------+-------------+--------------+-----------------+
| id  | budget_id | budget_date |    amount    | transfer_status |
+-----+-----------+-------------+--------------+-----------------+
| 100 |         1 | 2020-03-10  |  250,000.00  | Approved        |
| 101 |         1 | 2020-03-10  |  250,000.00  | Approved        |
| 102 |         2 | 2020-03-11  |  300,000.00  | Pending         |
| 103 |         2 | 2020-03-11  |  150,000.00  | Pending         |
| 104 |         2 | 2020-03-11  |  150,000.00  | Pending         |
+-----+-----------+-------------+--------------+-----------------+

finance_budget является главной таблицей & finance_budget_issue - таблица сведений. Представление используется для вставки записей по концепции основных данных в таблицы, и это работает отлично. После добавления записей в таблицы моя модельная функция используется для изменения Transfer_status с «Pending» на «Approved». Контроллер и модель следующим образом:

Контроллер

public function approveIssues($id){
        $this->checkPermissions('add', 'pendingIssues');
        if(empty($id)){
            redirect('budget/pendingIssue');
        }

        if($this->Budget_model->approveIssues($id)){
            $this->session->set_flashdata('message', 'Allocation Approved successfully ..!!');
            redirect('budget/pendingIssue');
        }else{
            $this->session->set_flashdata('error', 'Error ...!!!');
            redirect('budget/pendingIssue');
        }
    }

Модель

 function approveIssues($id)
        {

            $this->db->update('finance_budget_issue', array('transfer_status'=>'Approved'), array('id' => $id));
            if ($this->db->affected_rows()) {                  

                return true;
            }
            return false;

        }

Записи таблицы finance_budget_issue отображаются в представлении Approve. Следовательно, Transfer_status таблицы finance_budget_issue изменяется с использованием вышеуказанного контроллера и модели. Это тоже работает нормально.

Но я хочу изменить Transfer_status таблицы finance_budget на «Approved» при выполнении вышеуказанной функции модели. И результат должен быть следующим: (ex: -budget_id = 1)

+-----------+-------------+--------------+-----------------+
| budget_id | budget_date |    amount    | transfer_status |
+-----------+-------------+--------------+-----------------+
|         1 | 2020-03-10  |  500,000.00  | Approved        |
|         2 | 2020-03-11  |  600,000.00  | Pending         |
|         3 | 2020-03-12  |  400,000.00  | Pending         |
|         4 | 2020-03-13  |  200,000.00  | Pending         |
+-----------+-------------+--------------+-----------------+

Для операций budget_id 2,3 и 4 должно быть таким же, как budget_id 1.

Как я могу изменить свой код, чтобы получить ожидаемый результат? Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 18 марта 2020

КОД

function approveIssues($id) {
    $this->db->update('finance_budget', array('transfer_status'=>'Approved'), array('id' => $id));
    if ($this->db->affected_rows()) {                  
        return true;
    }
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...