1

この問題は、次のコードで簡単に説明されています。$category->update()結果は true (または$category->save()) になりますが、実際には何も起こりません。

$category = Category::findFirst('id=' . (int)$id);
if ($this->request->isPost()) {
    $category->setCategoryId($this->request->getPost('category_id', 'int'));
    $category->setLanguageId($this->request->getPost('language_id', 'int'));
    $category->setName($this->request->getPost('name', 'striptags'));
    $category->setDescription($this->request->getPost('description', 'striptags'));
    $category->setSort($this->request->getPost('sort'));
    $category->setValid($this->request->getPost('valid'));
    if (!$category->update()) {
        $this->flash->error($category->getMessages());
    } else {
        $this->flash->success(
            $this->translator->_('Category was updated successfully')
        );
    }
}

モデル クラスは、ゲッター メソッドとセッター メソッド、および phalcon-devtools を使用した保護されたメンバー変数で生成されます。

私は何を間違っていますか?

この問題もここで議論されたことは知っていますが、残念ながらコメントを書くのに十分なポイントがありません:)

Phalcon バージョン 1.2.3、MySQL 5.5 + PHP5.4.4 を使用した Debian 上の Apache

4

3 に答える 3

3

それは、null を受け入れず、null が差し込まれている列のような単純なものかもしれません。Phalcon にそうしないように明示的に指示しない場合、たとえ検証がなくても、Phalcon はフィールドに対する not null 制約を暗黙的に。

これをブートストラップ ファイルの先頭に追加して、null でない検証を無効にし、再試行します。

\Phalcon\Mvc\Model::setup([
    'notNullValidations' => false
]);
于 2013-09-30T03:41:41.873 に答える
1

検証は責任があるかもしれませんか?バリデーターを確認する

于 2013-09-25T07:05:31.130 に答える
0

PHPのエラーログは確認しましたか?Phalcon は、私が望んでいたほど冗長ではない場合があることがわかりました...

于 2013-09-25T09:43:25.173 に答える