Codeigniter v2.1.2 で Datamapper v1.8.2 を使用しており、値を持つフィールドで実行されないように見える"get" ルールNULL
があります。モデルは次のとおりです。
class Page extends Datamapper {
public $validation = array(
'name' => array(
'rules' => array('required'),
'get_rules' => array('get_page_name')
)
);
function _get_page_name($field)
{
$this->$field = 'TESTING '.$this->id;
}
}
コード例:
$page = new Page();
foreach ($page->get() as $p) echo $p->name;
テーブルフィールドname
に空の文字列を含むnull以外の値がある場合、 のような出力で正常に動作TESTING 358
しますが、値がNULL
(このフィールドのデフォルト値) の場合、何も出力しません。を使用しても差はありませんget_iterated()
。
デフォルト値を変更することでこれを回避できると思いますが、何か間違っているのか、ドキュメントで何かを見逃しているのでしょうか、それともバグなのでしょうか? 問題が何であるかを知っている人はいますか?
また、CI フォーラムで Datamapper 1.8.2 をサポートするための適切なスレッドを誰かが教えてくれたら、それを見つけようとして、古いバージョンの DM のスレッドへのリンクの迷路に迷い込んでいます。