将数组从视图传递到codeigniter中的模型

时间:2015-07-17 07:22:09

标签: php codeigniter

function income_reports:model

$this->db->where('tbl_sub_products.sub_product_id',
$this->input->post('product_cat'));

嗨,我对codeigniter不熟悉。有些人可以解释一下我们如何更改此代码以从视图中获取多个输入。

只需要一个值。如果我们选择多个值,则显示为空数组。

2 个答案:

答案 0 :(得分:0)

使用关联数组。

 var bulk = db.collection.initializeOrderedBulkOp(),
     count = 0;

 db.collection.find({ "item_list": { "$type": 2 } }).forEach(function(doc) {

     doc.item_list = doc.item_list.replace(new RegExp("(\"quantity\":\\d+)","g"),"$1},");
     doc.item_list = doc.item_list.replace(new RegExp(",]$"),"]");
     doc.item_list = JSON.parse(doc.item_list);

     printjson(doc.item_list);

     bulk.find({ "_id": doc._id }).update({
         "$set": { "item_list": doc.item_list }
     });
     count++;

     if ( count % 1000 == 0 ) {
         bulk.execute();
         bulk = db.collection.initializeOrderedBulkOp();
     }

 });

 if ( count % 1000 != 0 ) {
     bulk.execute();
 }

如果您有$array = array('name !=' => $name, 'id <' => $id, 'date >' => $date); $this->db->where($array); / OR个关联,请尝试

AND

答案 1 :(得分:0)

 <select name="product_cat" multiple="multiple" size="8"> 
 <?php if (isset($product_cat)) : foreach ($product_cat as $row) : ?> <option value="<?php echo $row->sub_product_id; ?>"> <?php echo $row->sub_product_name; ?> </option> <?php endforeach; ?> <?php endif; ?> 
 </select>

<select name="product_cat[]" multiple="multiple" size="8"> 
<?php if (isset($product_cat)) : foreach ($product_cat as $row) : ?> <option value="<?php echo $row->sub_product_id; ?>"> <?php echo $row->sub_product_name; ?>  </option> <?php endforeach; ?> <?php endif; ?> 
</select>

在控制器或模型中,您的查询应该是:: $ this-&gt; db-&gt; where_in (&#39; tbl_sub_products.sub_product_id&#39;,$ this-&gt; input- &GT;柱(&#39; product_cat&#39;)); PS:$ this-&gt; input-&gt; post(&#39; product_cat&#39;)是一个数组。