簡體   English   中英

Active Record等效於此MySQL查詢-CodeIgniter

[英]Active Record equivalent to this MySQL query - CodeIgniter

我只是想要一些幫助,弄清楚如何將來自多選框的數據插入到變量中,然后再放入數據庫中。

我的數據庫表的結構如下:-表: prd_attr

ID | Product_ID | name | value
-------------------------------
1  | 3          | size | large
2  | 3          | size | medium

假設我有一個名稱為sizes[]的多重選擇框,並且管理員為產品選擇2種尺寸以輸入數據庫。 我可以在控制器中獲取這些值並將它們放入變量中:

$sizes = $_GET['sizes'];

並將該變量傳遞給模型。 一旦到達,我就可以像這樣將數據作為MySQL查詢插入:

foreach ($sizes as $s)
{
    $query = mysql_query("insert into prd_attr ('name', 'value') VALUES ('size','$s')");
}

但是我了解到mysql_ *已過時,並且由於我使用的是提供Active Records的框架,因此我想利用它。 我知道Active Record的基礎知識,但是由於這是一個可以保存任意數量的值的變量的foreach循環,因此我不知道如何在Active Records中包含foreach語句。

有人可以解釋一下嗎? 感謝您的任何幫助。

您還可以在codeigniter中使用批處理插入:

嘗試這個:

function insert_sizes()
{
    $sizes  =   $this->input->get('sizes');
    foreach ($sizes as $s)
    {
        $data[] = array(
          'name' => 'size',
          'value' => $s
        );
    }
    $this->db->insert_batch('prd_attr',$data);
}

更多細節:
http://ellislab.com/codeigniter/user-guide/database/active_record.html

您可以在Codeigniter模型中使用它。 這是一種方法

function insert_sizes()
{
    $sizes  =   $this->input->get('sizes');
    $data['name']   =   'size';
    foreach ($sizes as $s)
    {
        $data['value']  =   $s;
        $this->db->insert('prd_attr',$data);
    }
}   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM