ホームページ > php教程 > php手册 > Thinkphp5.0mongodb 一方的なクエリ [修正されたソースコード付き]

Thinkphp5.0mongodb 一方的なクエリ [修正されたソースコード付き]

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-08-15 16:49:59
オリジナル
1440 人が閲覧しました

ディレクトリvendor/tothink/think-mongo/src/Builder.phpの35行目と230行目を変更します。公式の提案が提出されています。変更するかどうかは、それが重要かどうかによって異なります。自分で使用する場合は変更できます。
クエリ文字列 $value で始まるすべてのクエリに like_first を追加し、$value で終わるすべてのクエリに like_last を追加する 2 つのファジー クエリ メソッドを追加します。ソースコードの変更点は以下の通りです! protected $exp = ['<>' => 'ne', '=' => '=', '>' => 'gt', '>=' => 'gte', '<&#039; => 'lt', '<=&#039; => 'lte', 'in' => 'in', 'not in' => 'nin', 'nin' => 'nin', 'mod' => 'mod', 'exists' => 'exists', 'regex' => 'regex', 'type' => 'type', 'all' => 'all', '> time' => '> time', '< time&#039; => '< time&#039;, &#039;between time&#039; => 'between time', 'not between time' => 'not between time', 'notbetween time' => 'not between time', 'like' => 'like','like_first'=>'like_first','like_last'=>'like_last'];} elseif ('like' == $exp) {<br> // ファジークエリは通常の方法を採用します<br> $query[$key] = $value 正規表現のインスタンス ? $value : new Regex("$value", 'i');<br> }elseif ('like_first' == $exp) { <br> // ファジークエリは通常モードを使用して、$value で始まるすべてのデータをクエリします <br> $query[$key] = $value 正規表現のインスタンス ? $value : new Regex("^$value", 'i');<br> }elseif ('like_last' == $exp) {<br> // ファジークエリは通常モードを使用して、$value で終わるすべてのデータをクエリします <br> $query[$key] = $value 正規表現のインスタンス ? $value : new Regex("$value$", 'i');<br> }使用方法はいいねと同じです。以下のように: where(['like',$value]); /*グローバルファジークエリ*/<br> where(['like_first',$value]); /*$value で始まるすべてのデータ*/<br> where(['like_last',$value]); /*$value で終わるすべてのデータ*/

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート