MixPHP 碎片学习

发明了一种优雅的手写SQL构建方式

2017-08-03  本文已影响215人  撸代码的乡下人

手写SQL的蛋疼之处

再看看我发明的构建方式

数组构建SQL

\Mix::$app->rdb->createCommand([
    ["SELECT *"],
    ["FROM `user`"],
    ["INNER JOIN `friend` ON `friend`.uid = `user`.uid", 'where' => $request->get("show_friend") == 1],
    ["INNER JOIN `message` ON `message`.uid = `friend`.uid"],
    ["WHERE uid = :uid", 'values' => ['uid' => $this->uid], 'where' => empty($this->uid)],
    ["AND name = :name", 'values' => ['name' => $this->name]],
]);

逐行构建SQL

\Mix::$app->rdb->queryBuilder(["SELECT *"]);
\Mix::$app->rdb->queryBuilder(["FROM `user`"]);
\Mix::$app->rdb->queryBuilder(["INNER JOIN `friend` ON `friend`.uid = `user`.uid", 'where' => $request->get("show_friend") == 1]);
\Mix::$app->rdb->queryBuilder(["INNER JOIN `message` ON `message`.uid = `friend`.uid"]);
\Mix::$app->rdb->queryBuilder(["WHERE uid = :uid", 'values' => ['uid' => $this->uid]], 'where' => empty($this->uid)]);
\Mix::$app->rdb->queryBuilder(["AND name = :name", 'values' => ['name' => $this->name]]);

该查询构建方式已加入MixPHP豪华套餐

上一篇 下一篇

猜你喜欢

热点阅读