Тестовое задание

Чтобы показать выполнение - сделайте форк, выполните коммит и затем отправьте pull-реквест.

Задания проверяются только по pull-реквестам!

Задание 1:

В файле test.php написан скелет для класса модели из MVC. Допишите классы model и blog_post так, чтобы работал код под классами.

Данные хранятся в таблицах БД, названных так же, как модель, т.е. blog_post, например. Перечень полей модели определяется прямо из таблицы (как в ActiveRecord). Для blog_post можно взять такие поля: id:int, date:datetime, name:varchar, text:text.

Для работы с БД необходимо использовать DbSimple (http://dklab.ru/lib/DbSimple/). Все в юникоде.

Полностью реализовывать модель не нужно, выборки коллекций не нужны, достаточно только добиться работы вывода. Предполагается, что при наличии таблицы blog_topic, можно будет очень просто написать класс blog_topic и он тоже начнет работать.

Задание 2:

В файле test.sql приведена структура базы данных.

Составьте запросы чтобы:

  1. Найти оплаченные/предоплаченные заказы с суммами оплаты. (то есть есть хоть одна запись в таблице payment)
  2. Найти сумму закупки товара, по заказам в январе. (сумма закупки товара находится в таблице product_item, колонка price, необходимо найти id товара и сколько потрачено денег на товары, проданные по заказам в январе. дату заказа можно определить по колонке finish_date в таблице order)
  3. Найти товары (id) и количество, которых не хватает на складе по оплаченным заказам (не хватает, означает, что в таблице product_item недостаточно строк со статусом free для некоторых товаров)

Примечания

Задания находятся в папке ptest, результат положить в папку presult.