Concrete5(ConcreteCMS)の組み込みDB・Express(エクスプレス)とは?

Concrete5-Express

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、Concrete5(ConcreteCMS)の組み込みDB・Expressの基本について解説していきます。

Concrete5(ConcreteCMS)のExpress(エクスプレス)とは?

次の説明がわかりやすいので、引用します。

エクスプレスってそもそも何?

エクスプレスは、ConcreteCMS(concrete5)が提供している簡易DBです。
コマンドなどを打たなくても、サイト上でテーブル作成やレコードの登録ができます。
あまり複雑なことはできませんが、かんたんなテーブル構造であれば実現することができます。

フロントページに作成したDBを表示したり、検索させたりすることも可能です。

引用元: Concrete CMSで使えるノーコード簡易データベース「エクスプレス」の設定方法

なお、ConcreteCMSでは、通常のDB用語とは違い、次のような呼び方をしています。

データベースの一般用語ConcreteCMSのエクスプレス用語
テーブル (Table)エンティティ(Entity) or エクスプレス・オブジェクト(ExpressObject)
カラム (Column)属性 (Attribute)
データ (Recode・実データ)エントリー (Entry)
テーブルID, カラムID (識別ID)ハンドル (Handle)
引用元: Concrete CMSで使えるノーコード簡易データベース「エクスプレス」の設定方法

ちなみに、Entry は「実在物, 実体」という意味の英単語でニュアンス的には、Instance と同様の意味合いで捉えていいと思います。

エクスプレスをプログラムで操作するためのチートシート(随時更新予定)

まずは Concrete CMSで使えるノーコード簡易データベース「エクスプレス」の設定方法 を参考に簡単なテーブルを作ってみましょう。

テーブルを作成したら、プログラムでエクスプレスを操作してみましょう。

Express-Entity(Table)の取得

// Entity = Table
$entity = Express::getObjectByHandle('table_name');
$entryList = new EntryList($entity);
$entries = $entryList->getResults();

Express-Entry(Recode・実データ)をすべて削除する

// Entity = Table
$entity = Express::getObjectByHandle('table_name');
$entryList = new EntryList($entity);
$entries = $entryList->getResults();

// 配列 & 空配列以外ならば、クリーンナップ処理を実行する
if (is_array($entries) && !($entries == false) ) {
    
    foreach ($entries as $entry) {
        Express::deleteEntry($entry->getId());
    }
}

Express-Entry(Recode・実データ)の作成

// Entry(Recode・実データ)の作成 => データを投入する
$entry_data = Express::buildEntry('table_name')
->setAttribute('name', 'ロボ玉')
->setAttribute('address', '神聖グンマー帝国')
->setAttribute('email', 'robotama@gmail.com')
->save();

世界一わかりやすいconcrete5導入とサイト制作の教科書

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

プログラミング学習・エンジニア転職関連の情報

自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)

『GEEK JOBキャンプ』スピード転職コース(無料)

【IT道場】入校時0円! 就職目的プログラミングスクール

エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】

『techgym』 (Python特化・無料)

PHP / Laravel書籍

参考・引用

  1. Concrete CMSで使えるノーコード簡易データベース「エクスプレス」の設定方法

最近の投稿