1

Cakephp モデルを使用して、mogodb のコレクションに enum ドキュメントを使用したいと考えています。

class Profile extends AppModel {

public $primaryKey = '_id';

var $mongoSchema = array(
        'firstname' => array('type'=>'string'),
        'lastname'=>array('type'=>'string'),
        'adress'=>array('type'=>'string'),
        'tel'=>array('type'=>'integer'),
        'location'=>array(
            'city' => array('type'=>'string'),
            'country' => array('type'=>'string'),
            'street' => array('type'=>'string'),
            'zip' => array('type'=>'integer'),
            ),
        'created'=>array('type'=>'datetime'),
        'modified'=>array('type'=>'datetime'),
        'corporation'=>array(
            'name' => array('type'=>'string'),
            'description' => array('type'=>'string'),
            'link' => array('type'=>'string'),
            'logo' => array('type'=>'string'),
            ),
        'gender'=>array(
            'male' => 'Male',
            'female' => Female,
            'unspecified' => 'Unspecified',
            ),
        );

 }

ところで、数値フィールドへの参照に整数という用語を使用できますか?

4

1 に答える 1

0

このinteger型は、cakephp-mongodb ライブラリーでサポートされている列マッピングとして定義されています。さらに、そのタイプは、Mark Story によるこのブログ投稿で言及されています。

ライブラリのコード ベースには enum サポートへの参照がないように見えるので、サポートされていないと思います。EnumerableBehaviorライブラリを統合すると、うまくいくかもしれません。そうしないと、これらのオプションをモデル クラスの静的配列に簡単に格納し、アプリケーションで手動で検証することができます。MongoDB には (MySQL で見られるような) enum フィールド タイプがないことに注意してください。そのため、どちらの場合でも、アプリケーションはフィールドのデータ整合性を確保する責任があります。

于 2012-08-13T19:05:15.377 に答える