у меня есть две таблицы 1-ая таблица имеет некоторые данные, другая таблица 2-ая имеет все данные, теперь присоединяется к нулевому значению запроса, показывающему в ответе json - PullRequest
0 голосов
/ 24 августа 2018

у меня есть две таблицы. 1-я таблица содержит некоторые данные, другая таблица 2-я имеет все данные, теперь оставленные в запросе на соединение, помещенные, показывая в нулевом значении ответа json, как заменить нулевое значение. Я использую почтальон, я более свеж в поле json.

если данные присутствуют, тогда данные в ответ показывают эти поля

"athlete_attendance_id": "48", "coach_id": "302", "athlete_id": "380", "athlete_attendance": "1"

{"responseCode":200,"responseMessage":"Athlete details Successfully display","data":[{"user_id":"380","athlete_attendance_id":"48","coach_id":"302","athlete_id":"380","athlete_attendance":"1"}]} 

если данные отсутствуют в таблице 1 тогда нулевое значение замените на '0' значения, показанные в ответе почтальона

"athlete_attendance_id": "нуль", "coach_id": "нуль", "athlete_id": "нуль", "athlete_attendance": "нулевой"

{
    "responseCode": 200,
    "responseMessage": "Athlete details Successfully display",
    "data": [
        {
            "user_id": "377",
            "athlete_attendance_id": null,
            "coach_id": null,
            "athlete_id": null,
            "athlete_attendance": null
        }
]
}

я хочу, чтобы значение в ответе было таким

{
        "responseCode": 200,
        "responseMessage": "Athlete details Successfully display",
        "data": [
            {
                "user_id": "377",
                "athlete_attendance_id": 0,
                "coach_id": 0,
                "athlete_id": 0,
                "athlete_attendance": 0
            }
    ]
    }

это модель

            public function showAthleteData($team_id2,$coach_id2){
 $this->db->select('user.*,team.team_id,teams_athlete.team_id,dev_athlete_attendance.*');
          $table = array('user');
          $this->db->from($table);
                 $this->db->join('teams_athlete', 'user.user_id=teams_athlete.user_id');
                $this->db->join('dev_athlete_attendance' ,'dev_athlete_attendance.athlete_id = dev_teams_athlete.user_id','left' );
              $this->db->join('team','team.team_id = teams_athlete.team_id');
                $this->db->where('team.user_id',$coach_id2);

                $result = $this->db->get();
               if($result->num_rows() > 0 ){
                      return $result->result_array();
                                 }else{
                                     return 0;
                                }
 }
* * 1 022 контроллер * * 1 023
$team_id2= $this->input->post('team_id');
         $coach_id2= $this->input->post('coach_id'); //coach_id

         $userCount['result'] = $userCount1 = $this->Querydata->showAthleteData($team_id2,$coach_id2);
                    if($userCount['result']>0){


                         $data_arr1 = array(
                        "responseCode" =>  $this->res = 200,
                         "responseMessage" =>  $this->login = 'Athlete details Successfully display',
                        "data" =>$userCount['result']);
                       echo json_encode($data_arr1);

1 Ответ

0 голосов
/ 24 августа 2018

Используйте IFNULL, чтобы проверить, что ваши столбцы равны нулю, затем установите значение по умолчанию 0

Пример:

   select IFNULL(coach_id, '0') AS coach_id,     
    IFNULL(athlete_id, '0') AS athlete_id,     
    IFNULL(athlete_attendance, '0') AS athlete_attendance ....

Редактировать:

SELECT dev_user.*, IFNULL(team.team_id, 0) as team_id1,
 IFNULL(teams_athlete.team_id, 0) as team_id2,
IFNULL(dev_athlete_attendance.coach_id,0) as coach_id,
IFNULL(dev_athlete_attendance.athlete_id,0) as athlete_id,
IFNULL(dev_athlete_attendance.athlete_attendance,0) as athlete_attendance 
FROM dev_user JOIN dev_teams_athlete ON dev_user.user_id=dev_teams_athlete.user_id 
LEFT JOIN dev_athlete_attendance ON dev_athlete_attendance.athlete_id = dev_teams_athlete.user_id 
JOIN dev_team ON dev_team.team_id = dev_teams_athlete.team_id 
WHERE dev_team.user_id = '301'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...