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

Я хочу сделать запрос, который будет выглядеть следующим образом: codeigniter MODEL:

$caldata = array (
   15 => 'yes',
   17 => 'no'
);

Это возможно сделать?

Возьмите ПРИМЕЧАНИЕ: 15,17 и да, нет находятся в одной таблице базы данных.

Ответы [ 3 ]

1 голос
/ 08 апреля 2019

Нет основной вспомогательной функции для достижения того, что вы хотите в CI. Но вы можете создать свою собственную вспомогательную функцию:

function pluck($arr = [], $val = '', $key = '') 
{
    // val - label for value in array
    // key - label for key in array
    $result = [];
    foreach ($arr as $value) {
        if(!empty($key)){
            $result[$value[$key]] = $value[$val];    
        }else{
            $result[] = $value[$val];    
        }
    }
    return $result;
}
1 голос
/ 08 апреля 2019

вы можете использовать функцию result_array (), чтобы вы могли получить что-то вроде:

$query = $this->db->select('id,answer')->from('users')->get();

$result = $query->result_array();

print_r($result);

После этого у вас есть массив, и вы можете установить $key => $value отношение полей

0 голосов
/ 08 апреля 2019

После долгих поисков я нашел ответ.Пример способа сделать это:

$query = $this->db->select('start_date, class')->from('event')->like('start_date', "$year-$month", 'after')->get();

$datavariable = $query->result();

   $caldata = array();
                foreach($datavariable as $row){
                    $caldata[substr($row->start_date,8,2)] = $row->class;
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...