Я использую CodeIgniter. Ниже код, который я использую в модели.
Моя проблема в том, что я должен отображать вывод соединения, а также я использую еще одно условие внутри условия If, которое мне также нужно.
Что я делаю, так это извлекаю записи из нескольких таблиц и передаю имя столбца membershipForTheYear в условии IF.
membershipForTheYear output is the year range like 2018-2019.
Я разбиваю его с помощью взрыва и меняю с 2018-2019 на 2019-2020, чтобы получить результат из таблицы. Теперь я должен отобразить вывод этого и присоединяется к просмотру.
Почему я это делаю, потому что я должен отображать сборы за следующий год с выводом вышеприведенных объединений.
Должен ли я вернуть два результата или мне нужно использовать какой-то массив?
Не могли бы вы помочь мне в этом?
public function upcomingData(){
$get_s_member = array('members.is_Approved'=>1,'members.is_status'=>1);
$this->db->select('*');
$this->db->from('members');
$this->db->join('membership_details', 'members.member_id = membership_details.member_id','LEFT');
$this->db->where($get_s_member);
$this->db->group_by('membership_details.member_id');
$this->db->order_by('membership_details.membership_added_date','DESC');
$query = $this->db->get();
$result = $query->result();
if ($result)
{
foreach ($result as $key => $value) {
$membershipForTheYear=explode('-',$value->membershipForTheYear);
$addNextyear=$membershipForTheYear[1] + 1;
$activeBTN=$membershipForTheYear[1].'-'.$addNextyear;
$where = array('Duration'=>$activeBTN,'is_FeesActive'=>1);
$result = $this->db->where($where)
->from('bMembershipFees')
->get()
->row();
// print_r($result);
}
return $result;
}
else
{
return 0;
}
}
@M.Hemant, где я должен добавить этот код внутри условия? Можете ли вы добавить еще немного кода
при возврате $результат; место
@ M.Hemant, что вы подразумеваете под другим значением? Можете ли вы объяснить мне больше?
За исключением $result, какое значение вы хотите вернуть?
Я должен отобразить результаты, если нет записей, а затем отобразить 0. Можете ли вы объяснить или можете добавить ответ, чтобы понять ваш код с помощью моего кода?... или мне следует добавить обновление моего кода в вопрос?
Можете ли вы показать нам таблицы sql






public function upcomingData() {
$respose_array = array();
$get_s_member = array('members.is_Approved' => 1, 'members.is_status' => 1);
$this->db->select('*');
$this->db->from('members');
$this->db->join('membership_details', 'members.member_id = membership_details.member_id', 'LEFT');
$this->db->where($get_s_member);
$this->db->group_by('membership_details.member_id');
$this->db->order_by('membership_details.membership_added_date', 'DESC');
$query = $this->db->get();
$result = $query->result();
if ($result) {
foreach ($result as $key => $value) {
$membershipForTheYear = explode('-', $value->membershipForTheYear);
$addNextyear = $membershipForTheYear[1] + 1;
$activeBTN = $membershipForTheYear[1] . '-' . $addNextyear;
$where = array('Duration' => $activeBTN, 'is_FeesActive' => 1);
$result1 = $this->db->where($where)
->from('bMembershipFees')
->get()
->row();
// print_r($result);
}
$respose_array[0] = $result;
$respose_array[1] = $result1;
return $respose_array;
} else {
return $respose_array = array(0=>'0',1=>'0');
}
}
Дайте мне немного времени, чтобы проверить это
Как отобразить в контроллере?
Во-первых, получаете ли вы соответствующий результат?
Подождите, я делюсь выводом
Я просто print_r($response_array); до возвращения, и я получил выход. Array ([0] => Array ([0] => stdClass Object (//все столбцы, которые мне нужны в соединениях) [1] => stdClass Object (//все столбцы, которые мне нужны в соединениях)) [1 ] => stdClass Object (//вывод из внутреннего запроса условия if ))
Пожалуйста, проверьте этот вывод в текстовом редакторе.. вы его поймете.. и я получаю правильный вывод. Как мне отобразить в контроллере и просмотреть?
с помощью контроллера вам нужно отправить этот массив для просмотра и просмотра, вы можете использовать цикл foreach в соответствии с вашими потребностями
Итак, я должен использовать два для каждой страницы просмотра или один? и как я могу отображать записи? Теперь я получаю сообщение об ошибке <p>Message: Trying to get property of non-object</p>
Давайте продолжить обсуждение в чате.
Попробуйте это, объявите $response = array();$response[0] = $result;$response[1] = 'другое значение'; и вернуть $response; а в else return array('0'=>array(),'1'=>'значение по умолчанию') ;