2017-08-08 26 views
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被存儲爲日期時間。我希望genderverified的默認值爲0.我希望email是唯一的。

我想盡解決方案,我可以在計算器並沒有什麼發現作品

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

,以及如何創建BLOB和如何指定字段的長度?

回答

1

要預設bean的值,您應該使用模型類的點膠方法。見https://redbeanphp.com/index.php?p=/models

例如預置Bean的屬性,你會寫這樣一個模型類:

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

爲了使電子郵件的獨特屬性,您should'nt使用RB元函數,而是定義字段作爲唯一在你的數據庫中。

RB旨在讓您在流體模式下處理業務邏輯,並且只要您的邏輯工作,您可以選擇凍結整個數據庫或部分表格,如此處所述https://redbeanphp.com/index.php?p=/fluid_and_frozen

如果在流體模式下RedBean無法猜測您想要的數據類型,建議手動設置數據類型。