誰もこの問題に遭遇しましたか?CakePHPはPostgresデータベースに保存できませんが、成功した戻り値
CakePHPでは、これを持っています。
$this->loadModel('BankBalance');
$data = array("BankBalance"=> array(bla bla bla...);
$this->BankBalance->save($data);
$log = $this->BankBalance->getDataSource()->getLog(false, false); debug($log);
とデバッグ私に実際には、この
array(
'log' => array(
(int) 0 => array(
'query' => 'BEGIN',
'params' => array(),
'affected' => null,
'numRows' => null,
'took' => null
),
(int) 1 => array(
'query' => 'INSERT INTO bla bla bla...)',
'params' => array(),
'affected' => (int) 1,
'numRows' => (int) 1,
'took' => (float) 7
),
(int) 2 => array(
'query' => 'COMMIT',
'params' => array(),
'affected' => (int) 1,
'numRows' => (int) 1,
'took' => (float) 7
)
),
'count' => (int) 3,
'time' => (float) 14)
を返し、行が返された成功のメッセージにもかかわらず、挿入されていませんでした。しかし、生成されたSQLをコピーして実行すると、本当にテーブルにINSERTします。 saveManyも使用しようとしましたが、INSERTを実行しませんでしたが、まだ成功しました。
CakePHPにエラーログはありません。 updateAllはUPDATEに対して正常に動作しています。そして、今私はSQLを探しています
私はさえできません - 単一のフィールド(文字の変化(50))、トリガー、何もない単純なテーブルに保存します。成功メッセージを返しますが、物理データはテーブルに挿入されません。
データを最初に検証しようとすると、エラーが発生することがあります。 – urfusion
@urfusionデータはきれいです。私は生成されたSQLをコピーしてから、pgAdminに貼り付けて実行しても問題ありません。 – Fire
私は、 'set'メソッドを使ってcakephpモデルのバリデーションを検証することを意味します。 – urfusion