debug('test');
CakePHP2との違い
「Debugger::dump('test=');」はデフォルトで使えなくなった。
$this->Animals->connection()->begin();//トランザクション開始
~ DBへの保存処理 ~
$this->Animals->connection()->commit();//コミット
$this->Animals->connection()->rollback();
$data=[
['animal_name'=>'ライオン','animal_value'=>1001],
['animal_name'=>'サイ','animal_value'=>1002],
];
$query = $this->Animals->query();
$query->insert(['animal_name', 'animal_value']);
foreach ($data as $row) {
$query->values($row);
}
$this->Animals->connection()->begin();//トランザクション開始
$query->execute();//SQL実行
$this->Animals->connection()->commit();//コミット
Sql Log
INSERT INTO animals (animal_name, animal_value)
VALUES
('ライオン', 1001),
('サイ', 1002)

<?php
echo $this->Form->create('Animals' , ['type'=>'post','url'=>['action'=>'reg']] );
echo $this->Form->text('animal_name');
echo $this->Form->text('yagi.2.text_a');
echo $this->Form->text('yagi.2.text_b');
echo $this->Form->submit('送信');
echo $this->Form->end();
?>
class AnimalsController extends AppController
{
public function reg(){
debug($this->request->data);
~ 省略 ~
[ 'animal_name' => '', 'yagi' => [ (int) 2 => [ 'text_a' => 'あいうえお', 'text_b' => 'かきくけこ' ] ] ]
namespace App\Controller;
use Cake\Validation\Validator;
class AnimalsController extends AppController
{
public function vldDemo1(){
// バリデーションを定義する
$validator = new Validator();
$validator
->integer('no_a','番号Aは数値でありません。')
->maxLength('text_b', 4,'テキストBは4文字以内です。');
// サンプルデータ
$data=
[
'no_a' => 'a',
'text_b' => 'あいうえお'
];
// バリデーションを実行して、入力エラー情報を取得する
$errors = $validator->errors($data);
var_dump($errors);
}
}
array (size=2)
'no_a' =>
array (size=2)
'integer' => string '番号Aは数値でありません。' (length=37)
'番号Aは数値でありません。' => string 'The provided value is invalid' (length=29)
'text_b' =>
array (size=1)
'maxLength' => string 'テキストBは4文字以内です。' (length=38)
| メソッド | 説明 |
|---|---|
| alphaNumeric() | 半角英数字のバリデーション。 |
| blank() | 空であるか判定する。半角スペースやタブのみも空とみなす。 |
| containsNonAlphaNumeric() | 一つ以上の半角英数字を含んでいるか判定する。 |
| custom() | 正規表現による入力チェック。 |
| date() | 日付の検証。 |
| datetime() | 日時の検証。 |
| decimal() | 小数値のチェックする。 |
| email() | Eメール用のバリデーション。 |
| equalTo() | 指定した値と正確に一致するか判定する。 |
| extension() | ファイル拡張子のバリデーション。 |
| fileSize() | ファイルサイズのバリデーション。 |
| geoCoordinate() | 地理座標のバリデーション。 |
| inList() | 値がリスト内に存在するか判定する。 |
| ip() | IPアドレスのバリデーション。 |
| isInteger() | 整数のバリデーション。 |
| latitude() | 緯度のバリデーション。 |
| lengthBetween() | 文字列の長さを範囲チェックする。 |
| localizedTime() | 地域を考慮した日時チェックらしい。 |
| longitude() | 経度のバリデーション。 |
| luhn() | Luhnアルゴリズムを利用したバリデーション。Luhnアルゴリズムは識別番号の入力ミスを防ぐためのアルゴリズムである。識別番号にはクレジット番号などがある。 |
| maxLength() | 文字列の最大長チェック。 |
| mimeType() | ファイルのMIME TYPEを判定する。 |
| minLength() | 文字列の最小長チェック。 |
| money() | 値が金額であるかチェックする。 |
| multiple() | 複数選択用のバリデーション。最大選択数、最小選択数などのチェックができるらしい。 |
| naturalNumber() | 自然数のバリデーション。 |
| notBlank() | 空白文字以外が含まれているかチェックする。半角スペースやタブは空白文字と見なされていないようである。 |
| notEmpty() | notBlankのラッパークラス。2016年6時点ではこちらを使った方が良いかもしれない。notBlank は任意のエラーメッセージを表示しないからである。 |
| numeric() | 数値のバリデーション。 |
| range() | 数値範囲のバリデーション。 |
| time() | 時間のバリデーション。時分までは検証するが、秒は検証対象外である。 |
| uploadError() | ファイルアップロードでエラーが起きていないかチェックする。 |
| uploadedFile() | アップロードファイルのバリデーション。 |
| url() | URLのバリデーション |
| userDefined() | ユーザー定義のバリデーション |
| utf8() | utf8であるかチェックする。 |
| uuid() | UUIDのバリデーション。 |
$query = $this->find()->
where(['fish_value'=>102])->
order(['fish_date DESC'])->
hydrate(false)->
limit(10);
$data = $query->all();
$ent = $this->get(99);