ホームページ >バックエンド開発 >PHPチュートリアル >TP での作成は半分しか理解していなかった頭痛の種です
tp プロジェクトで Create() が何度も使われていて頭が痛くなりますが、プロジェクト内で Create() が何度も使われていますが、フォームの検証にしか使えませんが、簡単です。その詳細と使用法を理解するのは苦痛です
1: create() メソッドまたは代入メソッドを通じてデータ オブジェクトを生成し、データベースに書き込みます
<span style="color: #008080;">1</span> <span style="color: #800080;">$model</span> = D('User'<span style="color: #000000;">);</span><span style="color: #008080;">2</span> <span style="color: #800080;">$model</span>->create(); <span style="color: #008000;">//</span><span style="color: #008000;">略过具体的自动生成和验证判断</span><span style="color: #008080;">3</span> <span style="color: #800080;">$model</span>->add()1: create() メソッドは、Data オブジェクトを作成する他の方法もサポートしています: たとえば、他のデータ オブジェクトや配列
1 $data['名前'] = 'マイク'; 2 $data['性別'] = '男性'; 3 $user->create($data); 2: 作成したデータを読み込むことができます
3: create の 2 番目の操作メソッドを指定できます。データ作成の操作ステータス、デフォルトでは、書き込み操作であるか更新操作であるかを自動的に判断します。
4: If自動検証が定義されていない場合、create メソッドの戻り値は作成されたデータ オブジェクトの配列です
5: create メソッドによって作成されたデータ オブジェクトはメモリに保存され、実際にはデータベースに書き込まれません。 add または save メソッドが使用されるまで、実際にはデータベースに書き込まれません
2: 書き込みの場合: field() は、フィールドの正当性を検出するために create() と組み合わせて使用されます (フォーム送信)
1 $model->field('title,email ,content')->create(); 有効なフィールドはタイトル、メールアドレス、コンテンツのみです。ユーザーが他のフィールドを追加するためにどのような方法を使用しても、それらはブロックされます。
3: 自動検証は、モデル層によって提供されるデータ検証メソッドです。Create は、データ オブジェクトの作成時にデータ検証を自動的に実行します。具体的には、静的メソッドと動的メソッドに分けられます。
4: create() は、データ オブジェクトの作成中に一連の作業を完了します。ワークフロー
> | d> 戻る > | ||||||||||||||||||||||||||||||
データ ソースの取得 (デフォルトは POST 配列) |
|
||||||||||||||||||||||||||||||
2 | データ ソースの有効性を確認します (非配列またはオブジェクトはフィルタリングされます) | 失敗すると false が返されます||||||||||||||||||||||||||||||
3 | フィールドマッピングを確認します | ||||||||||||||||||||||||||||||
4 | データステータスの決定 (追加または編集、指定または自動決定) | 5 | 自動データ検証 td> | 失敗すると false が返されます | |||||||||||||||||||||||||||
6 | フォーム トークンの検証 | 失敗すると false が返されます | |||||||||||||||||||||||||||||
7 | フォーム データの割り当て (不正なフィールドのフィルタリングと文字列処理) | ||||||||||||||||||||||||||||||
8 | データ自動補完 | ||||||||||||||||||||||||||||||
9 | データ オブジェクトの生成 (メモリに保存) |