Cphalcon: 空の文字列を保存できません(nullではありません)-phalconは値が必要であると言います

作成日 2013年05月17日  ·  3コメント  ·  ソース: phalcon/cphalcon

nullを許可されていない空の文字列をmysqlvarcharフィールドに保存するにはどうすればよいですか? データベースフィールドを変更できず、ハードコードを記述したくありません。 プロジェクトの多くのアクションでモデルのこのフィールドが必要になるため、スキップできません。 例えば:

$model->field = ''; // empty string is a value.
$model->save(); // error

最も参考になるコメント

$model->field = new \Phalcon\Db\RawValue('""');
$model->save();

ここを参照してください

全てのコメント3件

$model->field = new \Phalcon\Db\RawValue('""');
$model->save();

ここを参照してください

@nikolasha以前の同じ投稿にリンクしていただきありがとうございます。

この解決策について-それは本当に面白いです。 誰の病気の脳がこのアイデアを思いついたのですか? stackoverflowからの質問を思い出しました。「2つの数値の合計を計算する方がよいのはなぜですか?」 そして最も人気のある(そしてそれは正しいとマークされた)答えは「クエリプラグインを使用する、[各番号と演算子にオブジェクトを作成する必要があるいくつかのプラグインリスト]。オブジェクトなしで合計を計算するのは初心者と馬鹿だけです」でした。 Ok。 空の文字列値ごとにオブジェクトを作成しましょう。 素晴らしい解決策。

ファルコンが以前の投稿で述べたように、検証を再実装するいくつかの方法を試します。 ありがとう。

しかし、私の観点からすると、このロジックは_非常に_奇妙です。 @phalconへのコメント-前のトピック(現在にリンクされている)が閉じられているので、ここに残しておきます。 モデルで空のデータを取得し、それを保存する場合、それは問題ありません。 バリデーターを禁止するには、バリデーターを実装(または指定)する必要があります。 現在、ロジックは使用できず、理解するのが非常に困難です。

PSおそらく私の最後のメッセージは礼儀正しくありません。 どうぞ、気楽にやってください。お気に入りのフレームワークがますます奇妙なソリューションを実装する方法を見るのは辛いことです。

#440で議論を続ける

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

ruudboon picture ruudboon  ·  3コメント

TimurFlush picture TimurFlush  ·  3コメント

linxlad picture linxlad  ·  3コメント

Yakovlev-Melarn picture Yakovlev-Melarn  ·  3コメント

dimak08 picture dimak08  ·  3コメント