2016年9月30日金曜日

Cakephp or 検索

http://cakephpクッキング.jp/find-data/

2016年9月29日木曜日

Cakephp select validation

http://www.happyquality.com/2013/08/26/2696.htm

http://book.cakephp.org/2.0/ja/models/data-validation.html
public $validate = array(
        'user_id' => array(
            'notempty' => array(
                'rule' => array('multiple'),
                'message' => '担当者は必ず1人以上選択してください',
                //'allowEmpty' => false,
                //'required' => false,
                //'last' => false, // Stop validation after this rule
                //'on' => 'create', // Limit validation to 'create' or 'update' operations
            ),
        ),
);

PHP 配列あれこれ

http://qiita.com/IganinTea/items/de6201fe860a65e192a1

http://qiita.com/asigochan/items/6e27405b6d385786c6c9

PHP 配列

http://doremi.s206.xrea.com/php/tips/array.html

PHP empty isset メモ

http://php.net/manual/ja/types.comparisons.php

http://d.hatena.ne.jp/sngmr/touch/20080209/1202520832

PHPデザパ

https://liginc.co.jp/web/programming/php/136131

特定のバリデーションのみ行う方法

http://kwski.net/cakephp-2-x/1120/
http://book.cakephp.org/2.0/ja/models/data-validation/validating-data-from-the-controller.html

トランザクションCakephp

http://book.cakephp.org/2.0/ja/models/transactions.html

メモ

http://blog.xao.jp/blog/cakephp/how-to-access-to-a-variaty-of-objects/

2016年9月24日土曜日

PHP 全角スペースもTrim

PHPのtrim関数は半角スペースしか削除できない。
正規表現を使って、全角スペースにマッチさせるしかない。
注意点
正規表現のメタ文字 ^ と $ は「行」の先頭・末尾を指します。文字列の先頭と末尾を指定する場合は、\A と \z を使用します。
// mb_trim()関数
// 文字列の前後の空白(全角スペース含む)を削除した文字列を返します。
function mb_trim($str)
{
return mb_ereg_replace('\A(\s| )+|(\s| )+\z', '', $str);
}

// mb_ltrim()関数
// 文字列の先頭の空白(全角スペース含む)を削除した文字列を返します。
function mb_ltrim($str)
{
return mb_ereg_replace('\A(\s| )+', '', $str);
}

// mb_rtrim()関数
// 文字列の末尾の空白(全角スペース含む)を削除した文字列を返します。
function mb_rtrim($str)
{
return mb_ereg_replace('(\s| )+\z', '', $str);
}

2016年9月14日水曜日

CakePHP or and

    $opt = array('conditions' => array('OR'=>array(
                                            array('id' => '1' , 'title'=>'タイトル'),
                                            array('id' => '2'))
                                                  )
                                      );
    /*
      SELECT `Post`.`id`, `Post`.`title`, `Post`.`body`, `Post`.`created`, `Post`.`modified` FROM `test_db`.`posts` AS   `Post` WHERE ((((`id` = 1) AND (`title` = 'タイトル'))) OR (`id` = 2))
    */
・出身地が「佐賀県」かつ現在地が「東京都」
・出身地が「岡山県」かつ現在地が「長崎県
'conditions' => array(
    'OR' => array(
        // 条件1。arrayに複数の条件を書くことで「AND」になる
        array('User.birthPlace' => '佐賀県',
            'User.address' => '東京都'
        ),
        // 条件2。arrayに複数の条件を書くことで「AND」になる
        array('User.birthPlace' => '岡山県',
            'User.address' => '長崎県'
        ),
    ),
),
array(
    'OR' => array(
        array('Company.name' => 'Future Holdings'),
        array('Company.city' => 'CA')
    ),
    'AND' => array(
        array(
            'OR' => array(
                array('Company.status' => 'active'),
                'NOT' => array(
                    array('Company.status' => array('inactive', 'suspended'))
                )
            )
        )
    )
)
SELECT `Company`.`id`, `Company`.`name`,
`Company`.`description`, `Company`.`location`,
`Company`.`created`, `Company`.`status`, `Company`.`size`

FROM
   `companies` AS `Company`
WHERE
   ((`Company`.`name` = 'Future Holdings')
   OR
   (`Company`.`city` = 'CA'))
AND
   ((`Company`.`status` = 'active')
   OR (NOT (`Company`.`status` IN ('inactive', 'suspended'))))

2016年9月12日月曜日

CakePHP Viewサンプルコード

<?php
/*初期設定などあれば*/
/*メッセージを組み立てる*/
//debug($Asr5500Chksheet);
$options_name1 = array('label'=>'作成者', 'type'=>'select', 'options'=>$cqap_member, 'selected'=>$Asr5500Chksheet['Asr5500Chksheet']['name1'], 'disabled'=>'disabled');
$options_name2 = array('label'=>'確認者', 'type'=>'select', 'options'=>$cqap_member, 'selected'=>$Asr5500Chksheet['Asr5500Chksheet']['name2'], 'disabled'=>'disabled');


$options_chkbox_unchecked =array('div' => false, 'label'=> false , 'type' => 'checkbox', 'checked' =>false , 'disabled'=>'disabled' );
$options_chkbox_checked   =array('div' => false, 'label'=> false , 'type' => 'checkbox', 'checked' =>true  , 'disabled'=>'disabled' );
$options_chkbox;


foreach($Asr5500Chksheet['Asr5500Chksheet'] as $key => $value ){
if( $key === "id" || $key === "date"){
//skip
}else{
$options_chkbox[$key ] = $value ? $options_chkbox_checked : $options_chkbox_unchecked ;
}
}
?>
<div class="view">
<?php echo $this->Form->create(); ?>
<fieldset>
<legend><?php echo __('View:').h($Asr5500Chksheet['Asr5500Chksheet']['date']); ?></legend>
<table>
<tr>
<th>
シート
</th>

<th>
項目
</th>
<th>
確認内容
</th>
<th>
<?php echo $this->Form->input('ASR5500Chksheet.name1', $options_name1); ?>
</th>
<th>
<?php echo $this->Form->input('ASR5500Chksheet.name2', $options_name2); ?>
</th>
</tr>
<tr>

<td rowspan="8" >
<?php echo __( Configure::read("SHEET_SUM") ); ?>
</td>

<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO1_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no1', $options_chkbox['no1'] ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no1_dblchk', $options_chkbox['no1_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO2_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no2', $options_chkbox['no2'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no2_dblchk', $options_chkbox['no2_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO3_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no3', $options_chkbox['no3'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no3_dblchk', $options_chkbox['no3_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO4_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no4', $options_chkbox['no4'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no4_dblchk', $options_chkbox['no4_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO5_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no5', $options_chkbox['no5'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no5_dblchk', $options_chkbox['no5_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO6_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no6', $options_chkbox['no6'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no6_dblchk', $options_chkbox['no6_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO7_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no7', $options_chkbox['no7'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no7_dblchk', $options_chkbox['no7_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("FOOTER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO8_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no8', $options_chkbox['no8'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no8_dblchk', $options_chkbox['no8_dblchk'] ); ?>
</td>
</tr>
<tr>
<td rowspan="12">
<?php echo __( Configure::read("SHEET_D") ); ?>
</td>
<td>
<?php echo __( Configure::read("MAIL_NUM") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO9_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no9', $options_chkbox['no9'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no9_dblchk', $options_chkbox['no9_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO10_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no10', $options_chkbox['no10'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no10_dblchk', $options_chkbox['no10_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO11_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no11', $options_chkbox['no11'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no11_dblchk', $options_chkbox['no11_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO12_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no12', $options_chkbox['no12'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no12_dblchk', $options_chkbox['no12_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("HEADER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO13_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no13', $options_chkbox['no13'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no13_dblchk', $options_chkbox['no13_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO14_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no14', $options_chkbox['no14'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no14_dblchk', $options_chkbox['no14_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO15_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no15', $options_chkbox['no15'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no15_dblchk', $options_chkbox['no15_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO16_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no16', $options_chkbox['no16'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no16_dblchk', $options_chkbox['no16_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("FOOTER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO17_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no17', $options_chkbox['no17'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no17_dblchk', $options_chkbox['no17_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("ATMNT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO18_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no18', $options_chkbox['no18'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no18_dblchk', $options_chkbox['no18_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("ATMNT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO19_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no19', $options_chkbox['no19'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no19_dblchk', $options_chkbox['no19_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("ATMNT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO20_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no20', $options_chkbox['no20'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no20_dblchk', $options_chkbox['no20_dblchk'] ); ?>
</td>
</tr>
<tr>
<td rowspan="10">
<?php echo __( Configure::read("SHEET_F") ); ?>
</td>
<td>
<?php echo __( Configure::read("MAIL_NUM") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO21_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no21', $options_chkbox['no21'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no21_dblchk', $options_chkbox['no21_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO22_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no22', $options_chkbox['no22'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no22_dblchk', $options_chkbox['no22_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO23_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no23', $options_chkbox['no23'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no23_dblchk', $options_chkbox['no23_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO24_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no24', $options_chkbox['no24'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no24_dblchk', $options_chkbox['no24_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("HEADER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO25_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no25', $options_chkbox['no25'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no25_dblchk', $options_chkbox['no25_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO26_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no26', $options_chkbox['no26'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no26_dblchk', $options_chkbox['no26_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO27_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no27', $options_chkbox['no27'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no27_dblchk', $options_chkbox['no27_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("FOOTER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO28_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no28', $options_chkbox['no28'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no28_dblchk', $options_chkbox['no28_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("ATMNT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO29_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no29', $options_chkbox['no29'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no29_dblchk', $options_chkbox['no29_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("ATMNT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO30_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no30', $options_chkbox['no30'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no30_dblchk', $options_chkbox['no30_dblchk'] ); ?>
</td>
</tr>
<tr>
<td rowspan="4">
<?php echo __( Configure::read("SHEET_H") ); ?>
</td>
<td>
<?php echo __( Configure::read("MAIL_NUM") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO31_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no31', $options_chkbox['no31'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no31_dblchk', $options_chkbox['no31_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("CONTENT_DFT") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO32_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no32', $options_chkbox['no32'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no32_dblchk', $options_chkbox['no32_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("FOOTER") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO33_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no33', $options_chkbox['no33'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no33_dblchk', $options_chkbox['no33_dblchk'] ); ?>
</td>
</tr>
<tr>
<td>
<?php echo __( Configure::read("TITLE") ); ?>
</td>
<td>
<?php echo __( Configure::read("NO34_CONTENT") ); ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no34', $options_chkbox['no34'] );  ?>
</td>
<td>
<?php echo $this->Form->input('ASR5500Chksheet.no34_dblchk', $options_chkbox['no34_dblchk'] ); ?>
</td>
</tr>
</table>
</fieldset>
<?php echo $this->Form->end(); ?>
</div>
<div class="actions">
<h3><?php  echo __(Configure::read("ACTIONS")); ?></h3>

<ul>
<li><?php echo $this->Html->link(__(Configure::read("EDIT_ACTION")), array('action' => 'edit', $Asr5500Chksheet['Asr5500Chksheet']['id'])); ?> </li>
<li><?php echo $this->Form->postLink(__( Configure::read("DELETE_ACTION") ), array('action' => 'delete', $Asr5500Chksheet['Asr5500Chksheet']['id']), array('confirm' => __('Are you sure you want to delete # %s?', $Asr5500Chksheet['Asr5500Chksheet']['id']))); ?> </li>
<li><?php echo $this->Html->link(__(Configure::read("INDEX_ACTION")), array('action' => 'index')); ?> </li>
<li><?php echo $this->Html->link(__(Configure::read("ADD_ACTION")), array('action' => 'add')); ?> </li>
</ul>

</div>