$main_function_id
$main_function_id : string
`メイン機能企業ID`を保持するカラム
ネクストエンジンの企業情報を保持するモデル
クラス名とテーブル名を縛ることで、命名規約に則りさえすれば、楽にモデルのコードを書くことが出来る。
FuelPHPのモデルクラスはModel_*
となるので、model_を取り払った*を複数形にしたものがテーブル名となる。
ex) Model_Base => 'bases', Model_Test => 'tests', Model_HogeHoge => 'hogehoges'
Model_Baseは、ignoreSaveKeyプロパティに指定されていないプロパティ名は、自動的に保存しようとします。 なので、DBのカラム名とモデルのプロパティは必ず一致させてください。 また、カラムなのかモデルのプロパティなのか、明確に分けるための命名規約が以下のとおりです。
種類 | 命名規則 |
---|---|
DBのカラム | スネークケース |
モデルのプロパティ | キャメルケース |
と命名規則を分けてください。
Model_Baseで言えば、id
, created_at
, updated_at
がカラム名(スネークケース)
validationErrors
, ignoreSaveKey
がモデルのプロパティ(キャメルケース)です。
save(array<mixed,string> $columns = array()) : boolean
モデルを保存or更新する
saveメソッドは、INSERT ~ ON DEPLICATE KEY UPDATE文を実行する。
UNIQUE インデックスか PRIMARY KEY 内で複製値を引き起こす行が挿入されると、古い行の UPDATE が実行されます。 — 公式ドキュメント
とあるように、重複行がないと更新されずに新規更新される。
NOTE: ignoreSaveKeyの都合上idは保存対象外となっているため、idのみがUNIQUEなテーブルでは使用できません。 NOTE: MySQL構文のため、MySQL以外のDBでsaveメソッドを使用することは出来ません。
array<mixed,string> | $columns | 挿入または更新するカラム名を指定。省略された場合は定義されている全てのプロパティを挿入/更新する |
挿入or削除に成功したらtrue
, 失敗したらfalse
create(array $columns, array $values) : array
NOTE: 仕様変更される恐れがあります。 複数の値を与えて、DBにinsertを行う。
Model_Base::create(array(
'username',
'password',
),
array(
array('hogehoge', 'hugahuga', 'foooooooooo'),
array('foobar', 'hige', 'fizzbuzz'),
));
PHPの連想配列はメモリをとても食うため、配列のみで済ましたい。よって第1,第2引数がややこしくなっています。ご了承ください
array | $columns | カラム名を列挙した配列。ここで指定したカラム順にvaluesを設定する。 |
array | $values | 値の列挙。1つ1つのカラムに挿入する値を配列で指定する。 |
挿入されたインスタンスの配列
count(string $column = null, boolean $distinct = true, array $where = array(), string $group_by = null) : integer
FuelPHPのModel_Crudから持ってきて、このクラス用に改造しました。
Count all of the rows in the table.
string | $column | Column to count by |
boolean | $distinct | Whether to count only distinct rows (by column) |
array | $where | Query where clause(s) |
string | $group_by | Column to group by |
The number of rows OR false
actionInTransaction(array<mixed,\Base\Model_Base> $inserts, array<mixed,\Base\Model_Base> $updates = array(), array<mixed,\Base\Model_Base> $saves = array(), array<mixed,\Base\Model_Base> $deletes = array()) : boolean
INSERT, UPDATE, INSERT or UPDATE, DELETEを同一トランザクション配下で行う
NOTE: 同一アクション(insertやupdate)の中の順序は指定できるが、アクション自体の実行順は指定できないことに注意。 必ずinsert(), update(), save(), delete()の順でモデルが存在するだけ実行される。
array<mixed,\Base\Model_Base> | $inserts | insert()を呼び出したいModel_Baseのインスタンスの配列 |
array<mixed,\Base\Model_Base> | $updates | update()を呼び出したいModel_Baseのインスタンスの配列 |
array<mixed,\Base\Model_Base> | $saves | save()を呼び出したいModel_Baseのインスタンスの配列 |
array<mixed,\Base\Model_Base> | $deletes | delete()を呼び出したいModel_Baseのインスタンスの配列 |
全て成功すればtrue, どれか1つ以上が失敗したらfalse