2014-03-26 64 views
2

我最近開始使用Redbean PHP。所以我並不清楚它是如何處理的。 到現在爲止,我愛它是多麼簡單,它爲我做東西。但今天我遇到了一個相當棘手的問題。我需要將信用卡號碼存儲到表格中。但是一旦我存儲了這個bean,卡號就會變成浮點(十進制)類型的值。RedBean PHP信用卡號碼

「1234123412341234」被越來越存儲爲「1.234123412341234e15」

的數據類型是「雙重」的紅豆創建的,但我給一個字符串。這對我來說有點奇怪我不太熟悉SQL或PHP。有沒有辦法來重寫redbean如何創建表。所以有人請幫助我。我在這裏錯過了什麼。以下是我的相應代碼,使用的框架是Codeigniter

數據變量

$data = array(
    'card_name' => 'Shiva Kumar Avula', 
    'card_no' => '1234123412341234', 
    'card_issuer' => 'Visa', 
    'card_cvv' => '123', 
    'card_exp_month' => 12, 
    'card_exp_year' => 2020 
); 

$card = $this->card_model->create_card($data, TRUE); // Making it primary 

型號功能

public function create_card($data, $is_primary = FALSE) 
{ 
    $card = R::dispense('card'); 

    $card->name = $data['card_name']; 
    $card->number = $data['card_no']; 
    $card->issuer = $data['card_issuer']; 
    $card->cvv = $data['card_cvv']; 
    $card->exp_month = $data['card_exp_month']; 
    $card->exp_year = $data['card_exp_year']; 
    $card->is_primary = $is_primary; 
    $card->is_verified = 0; 
    $card->ts_created = $this->ts_sql; 
    $card->ts_modified = $this->ts_sql; 

    $id = R::store($card); 
} 

快照我在phpMyAdmin輸出的, enter image description here

快照顯示的數據類型, enter image description here

+0

這個數字確實是一個字符串。你不會對此做任何數學計算。 –

+1

@JohnConde這就是問題所在,我可能不是紅豆將它投入浮動。 –

回答

3

您可以設置豆類元屬性

$card->setMeta("cast.number", "string"); 

這會將$card->number的任何值保存爲varchar。
有關更多信息,請參閱RedBean Internals

+0

完美地工作。對不起,我很懶,一天要瀏覽整個文檔。這是很多壓力。感謝您的幫助。 –