こんにちはフロントエンドエンジニアのまさにょんです!
今回は、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) |
ちなみに、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!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!