ПРИСОЕДИНИТЕ несколько таблиц к записи родительской таблицы и создайте подмассив из агрегированных данных с помощью постPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 ПРИСОЕДИНИТЕ несколько таблиц к записи родительской таблицы и создайте подмассив из агрегированных данных с помощью пост

Сообщение Anonymous »

Я пытаюсь написать функцию поиска для сайта, написанную на CodeIgniter, но у меня возникли проблемы с оператором соединения в модели.

Контроллер передает массив критериев поиска в функцию модели: get_sales($search_criteria);

function get_sales($search_criterie){

$this->db->join('sales_prices', 'sales_prices.sale_id = sales.sale_id', 'left');
$this->db->join('sales_sizes', 'sales_sizes.sale_id = sales.sale_id', 'left');
$query = $this->db->get_where('sales', $search_criterie);
$sale_data = $query->result_array();

}


У меня возникли две проблемы:

1) Мне нужно предложение WHERE в объединении sales_sizes. Прямо сейчас он присоединяется к sales_sizes.sale_id ON sales.sale_id, но я хочу иметь возможность фильтровать по размеру через массив $search_criteria. Как я могу это сделать?

2) Каждая продажа обычно имеет несколько размеров, и я хочу, чтобы выходные данные запроса были отформатированы следующим образом:

Array
(
[sale_id] => 1
[sale_category] => shoes
[sale_price] => 29.99
[sale_sizes] => Array
(
[0] => 10
[1] => 10.5
[2] => 11

)

)


Я попробовал несколько циклов foreach для форматирования вывода, но не смог заставить их работать. Надеюсь, кто-нибудь сможет помочь.

Обновление:

Как мне преобразовать следующий результат запроса в формат, подобный приведенному выше?

Array
(
[0] => Array
(
[sale_id] => 1
[sale_category] => shoes
[sale_price] => 29.99
[sale_size] => 10
)

[1] => Array
(
[sale_id] => 1
[sale_category] => shoes
[sale_price] => 29.99
[sale_size] => 10.5
)

[2] => Array
(
[sale_id] => 1
[sale_category] => shoes
[sale_price] => 29.99
[sale_size] => 11
)

)


Подробнее здесь: https://stackoverflow.com/questions/127 ... om-aggrega
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»