Вы можете использовать ListView и создавать любую структуру с использованием карт UiKit или материального дизайна.
Виджет ListView используется для отображения данных от поставщика данных. Каждая модель данных создается с использованием указанного файла представления. Поскольку он предоставляет такие функции, как разбиение на страницы, сортировка и фильтрация из коробки, удобно отображать информацию конечному пользователю и создавать данные, управляющие пользовательским интерфейсом.
Типичное использование выглядит следующим образом :
use yii\widgets\ListView; use yii\data\ActiveDataProvider; echo ListView::widget([ 'dataProvider' => $dataProvider, 'itemView' => '_ui-card', 'viewParams' => [ 'fullView' => true, 'context' => 'main-page', ], ]);
Файл представления
_ui-card
может содержать следующую базовую карту html:
= Html::encode ( $model->title ) ?>
= Html::encode ( $model->link ) ?>Таким образом вы можете показать каждый проект как отдельную карту, используя файл вида , Надеюсь, это поможет
select p.product_id, s.sales_date, s.sales_count, r.receipt_count
from
products p,
(select count(*) sales_count, sales_date, product_id from sales group by 2,3) s
(select count(*) receipt_count, receipt_date, product_id from receipts group by 2,3) r
where
p.product_id = s.product_id
and p.product_id = r.product_id
and s.sales_date=r.receipt_date
;
Рассчитайте количество для каждой таблицы и объедините их, используя UNION ALL
select
product_id
,sales_date
-- combine the counts from both tables
,sum(sales_count)
,sum(receipt_count)
from
(
-- get the counts for the sales table
select
product_id
,sales_date
,count(*) as sales_count
-- UNION needs the same number of columns in both Select -> adding a dummy column
-- 1st Select determines the datatype
,cast(0 as int) as receipt_count
from sales
group by product_id, sales_date
UNION ALL
-- get the counts for the receipts table
select
product_id
,receipt_date
,0
,count(*)
from receipts
group by product_id, receipt_date
) as dt
group by product_id, receipt_date