0

codeigniterのデータベースモデルの作成についてサポートが必要です。私は2つのテーブルを持っています。最初にすべての製品を保存し、2番目の表に製品のIDとカテゴリのIDがあります。したがって、たとえば:

テーブル製品

t-shirt with ID 1
polo shirt with ID 2

テーブルカテゴリ

shirts with ID 5

テーブルprotucts_cat

protuct_id category_id
---------- -----------
1 5
2 5

protucts_catテーブルを使用して、すべての製品の情報を取得するためのモデルを作成するにはどうすればよい->result()ですか?

4

2 に答える 2

1

私はARなしで複雑なクエリを書く傾向がありますが、ARを使用してそれを行うことができます。

return $this->db->query('
    SELECT
        products.id AS product_id,
        products.name AS product_name,
        categories.id AS category_id,
        categories.name AS category_name
    FROM
        products_cat

    LEFT JOIN
            products
        ON
            products.id = products_cat.product_id

    LEFT JOIN
            categories
        ON
            categories.id = products_cat.category_id

    WHERE categories.id = '.$category_id.'
')->result();
于 2012-08-27T23:27:09.037 に答える
1

すべての製品がカテゴリにマップされていると仮定すると、アクティブなレコードを使用して単純な結合を行います。

$this->db->select('product.id as product_id, product.name as name, categories.name')
$this->db->from('product p');
$this->db->join('protucts_cat pc','pc.product_id = p.id');
$this->db->join('categories c','c.id = pc.id');
$query = $this->db->get();

if($query->num_rows){
return $query->result();
}
return false;
于 2012-08-28T04:46:52.703 に答える