【发布时间】:2014-04-03 14:22:49
【问题描述】:
我的应用中有这三个表:
table: products
columns: id, name, price
table: colors
columns: id, name, products_count
table: product_colors
columns: id, product_id, color_id
就我而言,一个产品可以有多种颜色。这是我用来获取产品的查询:
SELECT products.id, products.name, products.price
FROM products
那么,如何通过数组获取特定产品的所有颜色?像这样的:
SELECT products.id, products.name, products.price, colors.name color
FROM products
LEFT JOIN product_colors ON product_colors.product_id = products.id
INNER JOIN colors ON colors.id = product_colors.color_id
上面的语法是怎么回事?
colors.name 列只检索一种颜色。
在 PHP/CodeIgniter 中我只想这样做:
view.php:
<h1><?php echo $product->name; ?></h1>
<div class="colors">
Colors available:
<?php foreach ($product->colors as $color) { ?>
<?php echo $color->name; ?>
<?php } ?>
</div>
这可以使用本机 CodeIgniter 执行吗?我的意思是,没有 Doctrine 或其他 ORM?
【问题讨论】:
标签: php mysql codeigniter