TL; DR:永続化中または永続化前にフィールドがnullableかどうかを確認できますか?挿入前にカラムがNULL可能であるかどうかを確認しますか?
私は現在、「十分に完了していれば項目を挿入する」というスムーズな方法を探しています。
この単純化されたテーブルは、エンティティクラス "User"の自動生成されたテーブルです。電話機はヌル可能ですが、残りはスキーマでヌル可能ではありません。
<table>
<tr data-id="25">
<td><input type="text" data-property="FirstName">Alice</td>
<td><input type="text" data-property="LastName">Smith</td>
<td><input type="text" data-property="Mail">[email protected]</td>
<td><input type="text" data-property="Phone"></td>
</tr>
... more populated rows and at the end one empty row for new entries
<tr data-id="*">
<td><input type="text" data-property="FirstName"></td>
<td><input type="text" data-property="LastName"></td>
<td><input type="text" data-property="Mail"></td>
<td><input type="text" data-property="Phone"></td>
</tr>
</table>
Iは、任意の入力フィールドが変更された場合に、バックエンドにデータプロパティ、値及びデータIDを送信する単純なAJAX呼び出しを持っています。バックエンドは、これが更新か挿入(data-id == *)かどうかを判断し、アクションを実行し、挿入の場合は新しいIDを返します。
大きな質問:もちろん、バックエンドはすべてのNullableではないフィールドに情報が埋め込まれていないと、新しいエンティティを作成できないため、更新に失敗します。
したがって、フィールドがnullableかどうかを挿入前に動的にチェックする可能性があるのかどうか疑問に思っていました。
カスタムバリデーターを作成し、doctrine接続オブジェクトを使用してスキーマ情報を確認するとします。http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/schema-representation .html – Cerad
ありがとう!それはまさに私が必要とした情報の量でした!私は後で私のソリューションを投稿します! – fridde