2015-06-01 3 views
2

У меня есть функция для извлечения продуктов из ci_products таблицы кода следующегоИзвлечение продуктов текущего user_id

function get_product_selections($product_ids = array()) 
{ 
    $this->db->select('*'); 
    $this->db->from('ci_products'); 
    $this->db->where_in('product_id', $product_ids); 

    $products = $this->db->get(); 
    return $products; 
} 

теперь я хочу, чтобы извлечь из где user_id является current user_id Я пытался несколько вещей, но не работаю что я tried`

function get_product_selections($product_ids = array()) 
{ 
    $this->db->select('*'); 
    $this->db->from('ci_products'); 
    $this->db->where_in('product_id', $product_ids); 
     $this->db->where('user_id',$this->session->userdata('user_id')); 
    $products = $this->db->get(); 
    return $products; 
} 
+0

Вы хотите найти 'product_id' на основе' user_id' в таблице 'ci_products'? –

+0

Вы получаете какую-либо ошибку. Что вы получали с этим запросом. Можете ли вы опубликовать свой рабочий запрос –

+0

, а не какую-либо ошибку, он показывает все продукты из таблицы ci_products, я хотел показать продукты только там, где user_id является текущим user_id – anonymous

ответ

1
$data = $this->db->get_where('product_ids',$product_ids); 
$this->db->where_in('product_ids',$data); 
$this->db->where('user_id',$this->session->userdata('user_id')); 
$query = $this->db->get(); 
return $query->result_array(); 
+1

я надеюсь, что может быть полезно для вас –

+0

Ravi Chauhan Tanx для ur help, но не работает – anonymous

0

Попробуйте это:

В свой первый код:

function get_product_selections($product_ids) 
{ 
    $this->db->select('*'); 
    $this->db->from('ci_products'); 
    $this->db->where('product_id', $product_ids); 

    $products = $this->db->get(); 
    return $products->result_array(); 
} 

что вы имеете в виду, когда вы кладете массив() в параметре? вы хотите получить массив() продуктов?

function get_product_selections() 
{ 
    $this->db->select('*'); 
    $this->db->from('ci_products'); 
    $this->db->where('user_id',$this->session->userdata('user_id')); // the user who is currently login 
    $products = $this->db->get(); 

    return $products->result_array(); // return the results 
} 
+0

, если вы хотите только запросить одну строку, вы также можете использовать first_row ('array') вместо result_array(). Если вы хотите просмотреть, если есть продукты, вы можете использовать этот, vardump ($ products); если у вас есть разъяснения, не стесняйтесь спрашивать.^_^ – aizele

+0

Thanx Xammeil, что все, что я хочу, это получить идентификатор продукта, но я хочу показать продукт, где user_id имеет текущего пользователя – anonymous

+0

, так что вы хотите просто хотите получить продукт текущего пользователя? это то, что вы имеете в виду? – aizele

Смежные вопросы