php
  • redbean
  • 2017-08-08 5 views 0 likes 
    0

    最新の安定版を使用していますが、バージョン5用に更新する必要がある場合はお知らせください。RedBeanPHP:タイムスタンプを追加する方法は、一意で、デフォルトですか?

    <?php 
    $user = R::dispense('user'); 
    $user->fname = 'man'; 
    $user->lname = '00'; 
    $user->setMeta("buildcommand.unique" , array($user->email='[email protected]')); 
    $user->pass = password_hash('password', PASSWORD_DEFAULT); 
    
    $user->gender=0; // I want this to have a default value of 0 if I don't insert anything 
    $user->verified=1; 
    $user->lastModified = date('Y-m-d G:i:s'); // I want this to be a timestamp, right now it's stored as datetime 
    $id= R::store($user); 
    

    lastModifiedがdatetimeとして格納されます。 genderverifiedのデフォルト値は0です。emailを一意にします。

    私はstackoverflowの上で見つけることができるすべてのソリューションを試してみましたが、何も

    $user->setMeta("buildcommand.unique" , array(array('email'))); 
    

    そして、どのようにBLOBを作成し、フィールドの長さを指定する方法を動作しますか?

    答えて

    1

    豆の値をプリセットするには、モデルクラスのディスペンスメソッドを使用する必要があります。電子メールあなたがRBのメタ関数を使用するshould'nt独自の属性を作成するには

    class Model_User extends RedBean_SimpleModel 
    { 
        public function dispense() 
        { 
         $this->bean->gender = 0; 
         $this->bean->verified = 1; 
        } 
    } 
    

    、代わりとして独自のフィールドを定義します。プリセットBeanに例えばhttps://redbeanphp.com/index.php?p=/models

    を参照してくださいあなたは、このようなモデルクラスを記述します属性あなたのデータベースに。

    RBは流体モードでビジネスロジック上で作業できるように設計されており、ロジックが動作するときにはここで説明するhttps://redbeanphp.com/index.php?p=/fluid_and_frozenのように完全なデータベースまたは部分テーブルをフリーズするオプションがあります。

    流体モードのときにRedBeanがデータ型を推測できない場合は、手動でデータ型を設定することもお勧めします。

    関連する問題