ThinkPHP のコヒーレント操作メソッドには、フィールド メソッドの使用テクニックが多数あります。フィールド メソッドの主な目的は、返されるフィールドまたは操作されるフィールドを識別することです。これについては、以下で詳しく説明します。
1.
のクエリに使用されますフィールド メソッドは、クエリ操作で最も頻繁に使用されます。
- $Model->field('id,title,content')->select();
ここでは、フィールド メソッドを使用して、クエリ結果セット内の ID、タイトル、コンテンツの 3 つのフィールドの値を指定します。実行される SQL は次と同等です:
- テーブルから ID、タイトル、コンテンツを選択
もちろん、select メソッドに加えて、find などを含むすべてのクエリ メソッドで field メソッドを使用できます。ここでは例として select のみを取り上げます。
上記の例は、配列
- $Model->field(array('id','title','content'))->select();
最終的に実行されるSQLは上記と同等になります。
^_^ 配列の使用法は複雑すぎるように思えますが、まだ結論を出さないでください。配列を使用するメリットは後で理解できるでしょう。
配列モードでの定義では、特定のフィールドのエイリアスを定義できます。例:
- $Model->field(array('id','title'=>'name','content'))->select();
実行される SQL は次と同等です:
- SELECT ID、名前としてのタイトル、テーブルからの内容
直接使用したい場合:
- $Model->field('id,title as name,content')->select();
間違った結果が得られる可能性があります。
いくつかのより複雑なフィールド要件の場合、次のような配列の利点がより明白になります:
- $Model->field(array('id','concat(name,'-',id)'=>'truename','LEFT(title,7)'=>'sub_title'))-> ;select();
実行される SQL は次と同等です:
- SELECT id,concat(name,'-',id) as truename,LEFT(title,7) as sub_title FROM table
SQL 関数をフィールドで使用する必要がある状況では、配列メソッドが優れたソリューションであることは誰もが理解していると思います。
フィールドメソッドにはこの効果しかありませんか?そう思うなら、あなたは ThinkPHP のフィールド メソッドを過小評価しています。ThinkPHP はあなたが思っているよりもはるかに慎重に細部を考慮しています。
まず次の状況を見てみましょう。テーブルに多数のフィールドと 2 つの要件がある場合、最初の要件はすべてのフィールドを取得することです。これは、フィールド メソッドを呼び出すことなく、または直接実行できるため、非常に簡単です。空のフィールドメソッドを使用すると、実際には次のようになります。
- $Model->select();
- $Model->field()->select();
- $Model->field('*')->select();
上記の 3 つの使用法は同等であり、SQL の実行と同等です:
- SELECT * FROM テーブル
ただし、これはすべてのフィールドを取得するという意味ではありません (高パフォーマンス要件を持つシステムの場合、この要件は過剰ではありません。少なくとも、これはより良い習慣です)。それでも、非常に単純です。 . 、次の使用法により期待される効果が得られます:
- $Model->field(true)->select();
fied(true) を使用すると、データ テーブルに 100 個のフィールドがある場合でも、データ テーブル内のすべてのフィールドのリストが明示的に取得されます。
2 番目の要件は、コンテンツ フィールドを除くすべてのフィールド値を取得することです (テキスト フィールドの値は非常にメモリを消費します)。たとえば、次のメソッドを使用できます。上記の機能を実現します:
- $Model->field('content',true)->select();
さらに多くのフィールドを除外することもできます:
- $Model->field('user_id,content',true)->select();
- // または を使用します
- $Model->field(array('user_id','content'),true)->select();
2.
を書くために使用されますクエリ操作に加えて、フィールド メソッドには、フィールドの正当性検出という非常に重要なセキュリティ機能もあります (注: この機能はバージョン 3.1 以降でのみサポートされます)。 create メソッドと組み合わせたフィールド メソッドをフォーム送信の処理メソッドで使用すると、フォーム送信のフィールドの正当性の検出を完了できます。
-
$Model->field('title,email,content')->create();
概要
フィールド メソッドの使用法から、小さなメソッドではあるが大きな使用法が何かを理解できるはずです。もちろん、ThinkPHP があなたの開発にさらなる利便性と驚きをもたらすことを願っています。皆さんもぜひ使用方法を共有してください。経験!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









