2013-09-06 2 views
0

Привет, мне понравится какая-то помощь. У меня есть 3 таблицыCodeigniter - выборка данных из многих таблиц

**Products** 
product_id //eg 1 
product_name //eg apple imac 
description // mplah mplah 
category_id // 3 - desktops 
... 

**Features** 
feature_id // 1 
feature_name // processor 
category_id // takes the parent-category eg computers with id = 1 

and a pivot table **product_features** that should have something like this 
product_id // 1 
feature_id // 1 
feature_value // intel i5 

Каждая таблица также представляет собой модель (так у меня есть, feature_model Код продукта и product_feature_model -Какой я не уверен, но если его needed-)

На мой взгляд, I имеют форму, в которую я вставляю/редактирую, в которой я хочу получить все функции конкретной категории (в моем примере «компьютеры») и значения, которые также относятся к определенному продукту.

Так что я должен получить что-то вроде яблока IMAC - процессора - Intel i5, никон - зума - 12Mpx

Как я могу сделать этот запрос и в котором модель лучше вставить?

Вот запрос я опробованный в PHPMyAdmin

SELECT `features`.*, `product_features`.`value` 
FROM (`features`) 
LEFT JOIN `product_features` ON `features`.`feature_id`=`product_features`.`feature_id` 
WHERE `features`.`category_id` = 1 
WHERE `product`.`product_id` = 1 // without this, it returns feature_id, feature_name, category_id and feature_value collumns, but I also want to specify from wich product 

ответ

0

1) продукт является «первичным» лицом, так что я бы поставил его там

2) Используйте MY_Model базовую модель (вы можете Google это для CodeIgniter) для всех моделей

3) Если вы делаете 2, вы хотите, чтобы присоединиться к модели таблицы, так что вы можете сделать простые обновления

+0

Прошу прощения, что меня недостаточно, я уже использую MY_Model (http://codeigniter.tv/). Я также пытался сделать это с помощью JOINS, но когда я пытаюсь передать идентификатор продукта, я не получаю никаких результатов. см. обновление. – Lykos

0

Try:

select p.*, f.*, pf.* from Products p, Features f, product_features pf where p.product_id = pf.product_id AND pf.feature_id = f.feature_id AND p.category_id = f.category_id 
Смежные вопросы