ホームページ >バックエンド開発 >PHPチュートリアル >TP での作成は半分しか理解していなかった頭痛の種です

TP での作成は半分しか理解していなかった頭痛の種です

WBOY
WBOYオリジナル
2016-06-13 12:13:191433ブラウズ

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() は、データ オブジェクトの作成中に一連の作業を完了します。ワークフロー

1

失敗すると false が返されます
> d> 戻る >
データ ソースの取得 (デフォルトは POST 配列)
        步骤                                            说明                                                  返回          
1 获取数据源(默认是POST数组)  
2 验证数据源合法性(非数组或者对象会过滤) 失败返回false
3 检查字段映射  
4 判断数据状态(新增或者编辑,指定或者自动判断)  
5 数据自动验证 失败返回false
6 表单令牌验证 失败返回false
7 表单数据赋值(过滤非法字段和字符串处理)  
8 数据自动完成  
9 生成数据对象(保存在内存)  
2
データ ソースの有効性を確認します (非配列またはオブジェクトはフィルタリングされます)
3 フィールドマッピングを確認します
4 データステータスの決定 (追加または編集、指定または自動決定)
5 自動データ検証 td> 失敗すると false が返されます
6 フォーム トークンの検証 失敗すると false が返されます
7 フォーム データの割り当て (不正なフィールドのフィルタリングと文字列処理)
8 データ自動補完
9 データ オブジェクトの生成 (メモリに保存)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。