日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

推荐算法 php SQL,MixPHP 独特的SQL构建方式

發布時間:2024/9/27 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐算法 php SQL,MixPHP 独特的SQL构建方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獨特的SQL構建方式

MixPHP 對CUD這些寫操作都有專用方法,可快速構建,使用方法也與 Yii2 完全一至,而R操作完全不一樣,MixPHP 發明了一種新奇的構造方式,非常簡單的方式,在定義復雜查詢時,可使 SQL 動態控制 WHERE、JOIN ,還具有良好的可讀性。

一個SQL構建的例子:

一個比較常見的需求: “多條件動態篩選網頁或API”

$rows = \Mix::app()->rdb->createCommand([

['SELECT *'],

['FROM `post`'],

[

'INNER JOIN `user` ON `user`.id = `post`.id',

'if' => !is_null($this->name),

],

['WHERE 1 = 1'],

[

'AND `post`.id = :id',

'params' => ['id' => $this->id],

'if' => !is_null($this->id),

],

[

'AND `user`.name = :name',

'params' => ['name' => $this->name],

'if' => !is_null($this->name),

],

['ORDER BY `post`.id ASC'],

['LIMIT :offset, :rows', 'params' => ['offset' => ($this->currentPage - 1) * $this->perPage, 'rows' => $this->perPage]],

])->queryAll();

詳細分解:

if 參數為 false 時,該段 SQL 會忽略。

params 內的參數,自動 pdo 綁定參數至當前 SQL 內。

id, name 兩個參數都沒有時,會顯示 post 全部的數據。

name 參數存在時,因為 name 在另一個表,會自動 join。

SQL 內還包含分頁、排序。

通常實現一個這樣的需求:

在代碼內使用 string 拼接 where。

使用查詢構造器。

由于動態判斷需很多 if ,會導致代碼流程很長,可讀性降低,如果還要手動做 pdo 參數綁定的話,代碼就更混亂了。

MixPHP 這一構建方式,可支持及其復雜的SQL,且可讀性良好,你是否要試試?

MixPHP:https://github.com/mixstart/mixphp

高性能 ? 極簡 ? 多功能,

內置 Server 基于 Swoole 的次世代 PHP 框架 。

總結

以上是生活随笔為你收集整理的推荐算法 php SQL,MixPHP 独特的SQL构建方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。