У меня вопрос по поводу использования form_dropdown()
.
Приведенный ниже код работает, , но я не уверен, нужно ли мне делать новый массив в представлении или есть ли лучший способ сделать это с массивом $games
- передано из $data['games']
Должен ли я выполнять всю обработку в контроллере и отправлять готовый массив для заполнения раскрывающегося списка?
Я пробовал это в представлении: echo form_dropdown('games', $games);
, но получил ошибку «Объект класса stdClass не может быть преобразован в строку», я думаю, это потому, что это массив объектов, и я должен преобразовать его?
ТАБЛИЦА: ИГРЫ
GM_ID - int
GM_NAME - var
MODEL:
class Test_model extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function get_game_names()
{
$queryg = $this->db->query("SELECT * FROM games");
return $queryg->result();
}
}
CONTROLLER
class Test extends CI_Controller {
public function index()
{
$this->load->model('test_model');
$data['games'] = $this->test_model->get_game_names();
$this->load->view('view_test',$data);
}
}
ВИД
$this->load->helper('form');
echo form_open('send');
$list = array(); //is this the best way to do it??
foreach($games as $row)
{
$list[$row->GM_ID] = $row->GM_NAME; //is this the best way to do it??
}
echo form_dropdown('games', $list); //then pass this array?
echo form_close();