Setに関するfree_myspaceのブックマーク (3)

  • CakePHP SetクラスのpushDiff()を使ってみる

    CakePHPCakePHPのSetクラスにある「pushDiff()」を使ってみました。自分のメモです。。。 CakePHPのSetクラスにある「pushDiff()」を使ってみました。 自分のメモです。。。 テストとして次の例で記述します。 $array1=array('abc','efg'); $array2=array('abc','ffg','Efg'); $newArray=Set::pushDiff($array1,$array2); pr($newArray); 結果は Array ( [0] => abc [1] => efg [2] => Efg ) という結果でした。 Setクラスの「merge()」との違いは「merge()」は配列を結合し、同一キーが存在する場合は 上書きされますが、この場合は上書きをしないようです。

    CakePHP SetクラスのpushDiff()を使ってみる
  • CakePHP MySQLのSET型について

    CakePHPCakePHPではMySQLのSET型を「hasAndBelongsToMany」のアソシエーションで対応するようにしていると思われます。 CakePHPではMySQLのSET型を「hasAndBelongsToMany」の アソシエーションで対応するようにしていると思われます。 しかしそのために「hasAndBelongsToMany」のアソシエーションを設計すると データベースのテーブルを増やさなければなりません。 簡単なアプリケーションを作成するだけならばいいのですが。。。 そうはいかない開発があります。 負荷の問題、検索の仕様などと、考慮しなければならないとなると SET型を利用したくなると思います。 ENUM型と同様に「find」や「save」は問題なく実行できるとは思いますが やはりヘルパーが。。。もちろん文字列です(笑) PHPコードをとCakePHPの「Set

    CakePHP MySQLのSET型について
  • CakePHP Setクラスのmerge()を使ってみる

    CakePHPCakePHPのSetクラスにある「merge()」を使ってみました。自分用のメモです。。。 CakePHPのSetクラスにある「merge()」を使ってみました。 自分用のメモです。。。 Setクラスの「merge()」はPHP関数である「array_merge()」を再帰的に行ってくれるものです。 簡単に説明すると1つ目の配列に2つ目の配列を結合します。 記述例では $array1 = array("color" => array("favorite" => "red"), 5); $array2 = array(10, "color" => array("favorite" => "green", "blue")); pr(Set::merge($array1,$array2)); 結果は Array ( [color] => Array ( [favorite] =>

    CakePHP Setクラスのmerge()を使ってみる
  • 1