ページ: << 1 2 3 4 5 6 7 8 9 10 11 ... 19 >>

Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE/cake/libs/view/helpers/form.php, line 1141]

パーマリンク 2008/11/13 13:59:00 著者: cakephp メール
カテゴリ: ヘルパー, ビュー, エラーメッセージ

CakePHP1.2 RC3

Form ヘルパーの select を利用しようとして、下記のメッセージが出た時の対処方法です。

Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE/cake/libs/view/helpers/form.php, line 1141]
<?php e($form->select('Sample.data', $data, null, null, false)); ?>


RC2 ではこのように書いていたのですが、RC3 では Warning となってしまいます。
第4引数の null を array() に変更すれば、解決されます。

<?php e($form->select('Sample.data', $data, null, array(), false)); ?>


◆参考サイト
Migration from CakePHP 1.2 RC2 to RC3

CakePHPに関する記事のブックマーク

パーマリンク 2008/10/16 18:31:38 著者: cakephp メール
カテゴリ: ブックマーク

linkさせる時に常にスラッシュを付ける方法とその時の注意点

パーマリンク 2008/10/09 16:57:57 著者: cakephp メール
カテゴリ: ヘルパー

CakePHP1.2 RC2

リンク表示させる時に便利なヘルパーが、HTMLヘルパーのinkメソッド HtmlHelper::link() です。
生成されるリンクの最後に常にスラッシュをつけて表示させたい場合は、このメソッドをカスタマイズします。

cake/libs/views/helpers/html.php を app/views/helpers/html.php にコピーします。

link メソッド内の return の直前に下記内容を追加します。

if (substr($url, -1) != '/') {
    $url = $url . '/';
}

これで、リンクの最後にはスラッシュが常に付いた状態になります。

ただし、このままだと一つ問題が生じます。

TextHelper::autoLinkEmails() を利用すると、自動で mailto のリンクを作成してくれるのですが、内部で HtmlHelper::link() を呼び出している為に、mailto のリンクの最後にまでスラッシュが付いてしまいます。

ですので、それを回避する為に、先ほどの部分を下記の様に変更します。

if (substr($url, 0, 7) != 'mailto:' && substr($url, -1) != '/') {
    $url = $url . '/';
}

郵便番号にハイフンを入れて表示してくれるヘルパー

パーマリンク 2008/10/08 16:54:18 著者: cakephp メール
カテゴリ: ヘルパー, ビュー

CakePHP1.2 RC2

DB で郵便番号を持たせる時は、ハイフンなしの 7 桁で持たせる場合があります。
ですが、表示させる時には、ハイフンをつけて表示させたいものです。
そんな時に使うヘルパーです。

cake/libs/view/helpers/text.php を app/views/helpers/text.php にコピーします。
そのファイルに下記内容を追加します。

function zip($text) {
    if (!empty($text) && strpos($text, '-') === false && strlen(trim($text)) == 7) {
        $text = substr($text, 0, 3) . '-' . substr($text, 3, 4);
    }
    return $text;
}


そして、View から下記のように呼び出せば、ハイフン付きの郵便番号が表示されます。

<?php e($text->zip($data['Sample']['zip'])); ?>

アソシエーション+paginateのやり方

パーマリンク 2008/10/07 19:08:36 著者: cakephp メール
カテゴリ: モデル

CakePHP1.2 RC2

$this->bindModel(array('hasOne' => array('Sample')), false); 

第二引数に false を渡すことでアソシエーションの状態を維持しつつ、ページ送り機能を実現することができます。

参考:Controller::paginate() でアソシエーションを有効にする

<< 1 2 3 4 5 6 7 8 9 10 11 ... 19 >>

2017年8月
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

CakePHPに関する情報をまとめていきます。

開発スピードがアップできればうれしいです。

>>連絡はこちらへどうぞ



CakePHP最新版
CakePHP 1.2.3.8166


CakePHPの書籍

CakePHPによる実践Webアプリケーション開発

CakePHP1.2で作成する人にオススメ。
とても参考になります。

まるごとPHP!(vol.2)

安藤さんの解説が載っています。
AmazonのPagination部分は参考になります。

CakePHPによるWebアプリケーション開発

まだ読んだことありません

CakePHPポケットリファレンス
CakePHPポケットリファレンス
CakePHP1.2 でやるなら、これがあると何かと便利♪

CakePHP徹底入門
CakePHP徹底入門
CakePHP1.2 を今から始めるならここから

Fast CakePHP
Fast CakePHP
シンプルでわかりやすい CakePHP の入門書

CakePHPガイドブック
CakePHPガイドブック
CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

検索

XMLフィード

16ブログ     powered by b2evolution