baserCMS クラスリファレンス

BlogPostsTable extends BlogAppTable
in package

記事モデル

Table of Contents

Properties

$BlogCategories  : BlogCategoriesTable
$BlogContents  : BlogContentsTable
$BlogTags  : BlogTagsTable
$publishBeginField  : string
公開開始日のフィールド AppTable::getConditionAllowPublish() で利用
$publishEndField  : string
公開終了日のフィールド AppTable::getConditionAllowPublish() で利用
$publishStatusField  : string
公開状態のフィールド AppTable::getConditionAllowPublish() で利用
$searchIndexSaving  : bool
検索テーブルへの保存可否
$tmpEvents  : array<string|int, mixed>
一時イベント イベントを一時にオフにする場合に対象のコールバック処理を一時的に格納する
$Users  : UsersTable
$_View  : View
View

Methods

addPrefix()  : string
テーブル名にプレフィックスを追加する
afterSave()  : mixed
afterSave
afterValidate()  : mixed
After Validate
allowPublish()  : bool
公開状態を取得する
beforeFind()  : array<string|int, mixed>
Before Find
beforeSave()  : void
Before Save
belongsToMany()  : BelongsToMany
Belongs To Many
changeSort()  : bool
並び順を変更する
copy()  : mixed
コピーする
createPreviewData()  : mixed
プレビュー用のデータを生成する
createSearchIndex()  : array<string|int, mixed>|false
検索用データを生成する
dispatchLayerEvent()  : bool|Event
イベントを発火
existsEntry()  : bool
指定した月の記事が存在するかチェックする
getAuthors()  : array<string|int, mixed>
投稿者の一覧を取得する
getConditionAllowPublish()  : array<string|int, mixed>
公開状態となっているデータを取得するための conditions 値を取得
getEntryDates()  : array<string|int, mixed>
カレンダー用に指定した月で記事の投稿がある日付のリストを取得する
getMax()  : int
指定フィールドのMAX値を取得する
getPostedDates()  : array<string|int, mixed>
ブログの月別一覧を取得する
getPublishByNo()  : array<string|int, mixed>|EntityInterface|null
公開状態の記事をNOより取得する
getPublishes()  : array<string|int, mixed>
公開状態の記事を取得する
getTable()  : string
テーブルを取得
getUrlPattern()  : array<string|int, mixed>
コンテンツのURLにマッチする候補を取得する
initialize()  : void
Initialize method
offEvent()  : mixed
イベントを一時的にオフにする
onEvent()  : mixed
一時的にオフにしたイベントをオンにする BcModelEventDispatcherは対象外とする
replaceText()  : string
機種依存文字の変換処理
setTable()  : AppTable
テーブルをセット
setupUpload()  : mixed
アップロードビヘイビアの設定
sortdown()  : bool
一つ位置を下げる
sortup()  : bool
一つ位置を上げる
validationDefault()  : Validator
デフォルトのバリデーションルールを設定
_getEntryDatesConditions()  : array<string|int, mixed>
年月を指定した検索条件を生成 データベースごとに構文が違う

Properties

$publishBeginField

公開開始日のフィールド AppTable::getConditionAllowPublish() で利用

public string $publishBeginField = 'publish_begin'

$publishEndField

公開終了日のフィールド AppTable::getConditionAllowPublish() で利用

public string $publishEndField = 'publish_end'

$publishStatusField

公開状態のフィールド AppTable::getConditionAllowPublish() で利用

public string $publishStatusField = 'status'

$searchIndexSaving

検索テーブルへの保存可否

public bool $searchIndexSaving = true

$tmpEvents

一時イベント イベントを一時にオフにする場合に対象のコールバック処理を一時的に格納する

public array<string|int, mixed> $tmpEvents = []

Methods

addPrefix()

テーブル名にプレフィックスを追加する

public addPrefix( $table) : string

$this->getConnection()->config() を利用するとユニットテストで問題が発生するため、BcUtil::getCurrentDbConfig()を利用する

$this->getConnection()->config()を利用すると、 そのテーブルに connection が設定されてしまう。

ユニットテストの dataProvider で、テーブルを初期化する場合、 タイミング的に、接続についてテスト用のエイリアスが設定されていないので、 テスト用の接続ではなく、 default がセットされてしまう。

Parameters
$table :
Tags
checked
noTodo
Return values
string

afterSave()

afterSave

public afterSave(bool $created[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
$created : bool
$options : array<string|int, mixed> = []
Tags
checked

allowPublish()

公開状態を取得する

public allowPublish(mixed $post) : bool

期限が設定されている場合、期限外では公開状態が非公開となる

Parameters
$post : mixed
Tags
checked
noTodo
unitTest
Return values
bool

公開状態

beforeFind()

Before Find

public beforeFind(EventInterface $event, Query $query, array<string|int, mixed> $options, mixed $primary) : array<string|int, mixed>
Parameters
$event : EventInterface
$query : Query
$options : array<string|int, mixed>
$primary : mixed
Tags
checked
Return values
array<string|int, mixed>

beforeSave()

Before Save

public beforeSave(EventInterface $event, EntityInterface $entity, ArrayObject $options) : void
Parameters
$event : EventInterface
$entity : EntityInterface
$options : ArrayObject
Tags
checked
noTodo

belongsToMany()

Belongs To Many

public belongsToMany(string $associated[, array<string|int, mixed> $options = [] ]) : BelongsToMany

joinTable にプレフィックスを追加

Parameters
$associated : string
$options : array<string|int, mixed> = []
Tags
checked
noTodo
Return values
BelongsToMany

changeSort()

並び順を変更する

public changeSort(string $id, int $offset[, array<string|int, mixed> $options = [] ]) : bool
Parameters
$id : string
$offset : int
$options : array<string|int, mixed> = []
  • conditions: データ取得条件
  • sortFieldName: ソートフィールドのカラム名 (初期値: sort)
Tags
checked
noTodo
Return values
bool

copy()

コピーする

public copy([int $id = null ][, array<string|int, mixed> $data = [] ]) : mixed
Parameters
$id : int = null
$data : array<string|int, mixed> = []
Tags
checked
noTodo
unitTest
Return values
mixed

page Or false

createPreviewData()

プレビュー用のデータを生成する

public createPreviewData(array<string|int, mixed> $data) : mixed
Parameters
$data : array<string|int, mixed>

createSearchIndex()

検索用データを生成する

public createSearchIndex(mixed $post) : array<string|int, mixed>|false
Parameters
$post : mixed
Tags
checked
noTodo
Return values
array<string|int, mixed>|false

dispatchLayerEvent()

イベントを発火

public dispatchLayerEvent(string $name[, array<string|int, mixed> $data = [] ][, mixed $options = [] ]) : bool|Event
Parameters
$name : string
$data : array<string|int, mixed> = []
$options : mixed = []
Tags
checked
unitTest
noTodo
Return values
bool|Event

existsEntry()

指定した月の記事が存在するかチェックする

public existsEntry(int $blogContentId, int $year, int $month) : bool
Parameters
$blogContentId : int
$year : int
$month : int
Tags
checked
noTodo
unitTest
Return values
bool

getAuthors()

投稿者の一覧を取得する

public getAuthors(int $blogContentId, array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
$blogContentId : int

ブログコンテンツID

$options : array<string|int, mixed>

オプション

Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

getConditionAllowPublish()

公開状態となっているデータを取得するための conditions 値を取得

public getConditionAllowPublish() : array<string|int, mixed>

公開状態(初期値:status)、公開開始日(初期値:publish_begin)、公開終了日(初期値:publish_end) の組み合わせてによって配列を生成する。

公開状態が true であったとしても、公開期間が設定されている場合はそちらを優先する。

Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

getEntryDates()

カレンダー用に指定した月で記事の投稿がある日付のリストを取得する

public getEntryDates(int $blogContentId, int $year, int $month) : array<string|int, mixed>
Parameters
$blogContentId : int

ブログコンテンツID

$year : int

$month : int

Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

getMax()

指定フィールドのMAX値を取得する

public getMax(string $field[, array<string|int, mixed> $conditions = [] ]) : int

現在数値フィールドのみ対応

Parameters
$field : string
$conditions : array<string|int, mixed> = []
Tags
checked
unitTest
noTodo
Return values
int

getPostedDates()

ブログの月別一覧を取得する

public getPostedDates([int $blogContentId = null ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>
Parameters
$blogContentId : int = null

ブログコンテンツID

$options : array<string|int, mixed> = []

オプション

Tags
checked
noTodo
Return values
array<string|int, mixed>

月別リストデータ

getPublishByNo()

公開状態の記事をNOより取得する

public getPublishByNo(int $blogContentId, int|string $no[, bool $preview = false ]) : array<string|int, mixed>|EntityInterface|null
Parameters
$blogContentId : int
$no : int|string
$preview : bool = false
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>|EntityInterface|null

getPublishes()

公開状態の記事を取得する

public getPublishes(array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
$options : array<string|int, mixed>
Return values
array<string|int, mixed>

getTable()

テーブルを取得

public getTable() : string

プレフィックスを追加する

Tags
checked
noTodo
Return values
string

getUrlPattern()

コンテンツのURLにマッチする候補を取得する

public getUrlPattern(string $url) : array<string|int, mixed>
Parameters
$url : string
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

initialize()

Initialize method

public initialize(array<string|int, mixed> $config) : void
Parameters
$config : array<string|int, mixed>

The configuration for the Table.

Tags
checked
unitTest
noTodo

offEvent()

イベントを一時的にオフにする

public offEvent(string $eventKey) : mixed
Parameters
$eventKey : string
Tags
checked
noTodo

onEvent()

一時的にオフにしたイベントをオンにする BcModelEventDispatcherは対象外とする

public onEvent(string $eventKey) : mixed
Parameters
$eventKey : string
Tags
checked
noTodo
unitTest

replaceText()

機種依存文字の変換処理

public replaceText(string $str) : string

内部文字コードがUTF-8である必要がある。 多次元配列には対応していない。

Parameters
$str : string

変換対象文字列

Tags
checked
noTodo
Return values
string

変換後文字列

setTable()

テーブルをセット

public setTable(string $table) : AppTable

プレフィックスを追加する

Parameters
$table : string
Tags
checked
noTodo
Return values
AppTable

setupUpload()

アップロードビヘイビアの設定

public setupUpload(int $id) : mixed
Parameters
$id : int

ブログコンテンツID

Tags
checked
unitTest
noTodo

sortdown()

一つ位置を下げる

public sortdown(string $id, array<string|int, mixed> $conditions) : bool
Parameters
$id : string
$conditions : array<string|int, mixed>
Tags
checked
noTodo
Return values
bool

sortup()

一つ位置を上げる

public sortup(string $id, array<string|int, mixed> $conditions) : bool
Parameters
$id : string
$conditions : array<string|int, mixed>
Tags
checked
noTodo
Return values
bool

validationDefault()

デフォルトのバリデーションルールを設定

public validationDefault(Validator $validator) : Validator
Parameters
$validator : Validator
Tags
checked
noTodo
unitTest
Return values
Validator

_getEntryDatesConditions()

年月を指定した検索条件を生成 データベースごとに構文が違う

protected _getEntryDatesConditions(int $blogContentId, int $year, int $month) : array<string|int, mixed>
Parameters
$blogContentId : int
$year : int
$month : int
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

        
On this page

Search results