agilephp @ ウィキ

メニュー



目次

第5章 Depotアプリケーション

  • 5.1インクリメンタル開発
  • 5.2Depot基本仕様
  • 5.3コーディング開始

第6章タスクA:商品の管理

第7章タスクB:カタログの表示

第8章タスクC:カートの作成

第9章タスクD:チェックアウト!

第10章タスクE:発送

第11章タスクF:ユーザ管理

第12章タスクT:テスト



リンク



イテレーションA2:足りない列の追加

発売前の商品が表示されないように発売予定日も製品情報として持つようにし、発売予定日が過ぎた商品のみショップに並ぶようにします。

そのためにはproductテーブルに発売予定日(date_available)を追加します。

drop table if exists products;
create table products (
       id              INT AUTO_INCREMENT,
       title           VARCHAR(100)    not null,
      description     TEXT            not null,
      image_url       varchar(200)    not null,
      price           decimal(10,2)   not null,
      date_available datetime        not null,
      primary         key     (id)
);


app/db/create.sql を編集してproductsテーブルのスキーマにdate_availabelを追加したらテーブルを作り直します。

% mysql -u root -p depot_development < db/create.sql

コントローラーでscaffoldを設定している場合、cakePHPではテーブルスキーマの変更は直ちに反映されます。

http://{server}:{port}/depot/admin/ にアクセスして発売日(date_available)が反映されていることを確認してください。