2017-05-31 45 views
0

我正试图加载form_dropdown中的数据。对象fornecedores有数据。如何加载和数组并投入下拉将数据加载到codeigniter中的下拉列表中

<?php 

     foreach ($fornecedores as $fornecedor) { 

     } 


     echo form_dropdown('fornecedores', null, 
    set_value('fornecedores'), ['class' => 'form-control']); 
    ?> 

这里是我的模型,在那里我加载我的对象fornecedores

public function getRecords() { 

    $query = $this->db->get('fornecedores'); 

    if ($query->num_rows() > 0) { 
     return $query->result(); 
    } 
} 

回答

1

正确的方法使用form_dropdown功能

https://www.codeigniter.com/userguide3/helpers/form_helper.html

$options = array(); 
foreach ($fornecedores as $fornecedor) { 
    $options[$fornecedor->id] = $fornecedor->name; 
} 

echo form_dropdown('fornecedores', $options, null, 'class="form-control"'); 
+0

'类stdClass的客体不能转换到string' – HawkB

+0

你能给我fornecedore对象的领域你想放在下拉菜单中? –

+0

你应该通过你想放在下拉列表中的字段替换id和名称字段 –

0

希望这会有所帮助。

Model result_array();

public function getRecords() { 

    $query = $this->db->get('fornecedores'); 

    if ($query->num_rows() > 0) { 
     return $query->result_array(); 
    } 
} 

在你的控制器,你可以尝试像

public function index() { 

$this->load->model('some_model'); 

$options = array(); 

$fornecedores = $this->some_model->getRecords(); 

foreach ($fornecedores as $fornecedor) { 
    $options[$fornecedor['id']][] = $fornecedor['name']; 
} 

$data['dropdown'] = form_dropdown('fornecedores', $options, '', array('class' => 'form-control')); 

$this->load->view('some_view', $data); 

} 

查看

<?php echo $dropdown;?> 
相关问题