我是新來的Perl和DBIx :: Class。Perl DBIx :: Class遭遇對象Json
這是我如何得到我的meaning_ids
從表翻譯其中language = 5:
my $translations = $schema -> resultset('Translation')->search({ language => '5'});
它之後我試圖從數據庫中把我的數據到我的陣列數據:
while (my $translation =$translations->next) {
push @{ $data }, {
meaning_id => $translation-> meaning
};
}
$self->body(encode_json $data);
如果我這樣做,我得到了以下錯誤:
encountered object 'TranslationDB::Schema::Result::Language=HASH(0x9707158)', but neither allow_blessed , convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing)
但如果我這樣做LIK e表示:
while (my $translation =$translations->next) {
push @{ $data }, {
meaning_id => 0+ $translation-> meaning
};
}
$self->body(encode_json $data);
我再也沒有看到錯誤,但含義並不是數據庫中的數字。它太大了(像17789000
,但只有號碼,直到7000
是有效的)。
有沒有簡單的方法告訴Perl meaning_id
是一個INT而不是一個字符串?
我可以通過$ translation-> meaning-> meaning_id得到正確的意義_id – Hansanho
感謝您的幫助和編輯我的文章:)祝您有美好的一天 – Hansanho