返回介绍

pdo

发布于 2019-11-08 06:45:39 字数 1475 浏览 991 评论 0 收藏 0

Raw Object

Medoo可以使用原始表达式来进行复杂的或自定义的查询,尤其是在使用SQL内置函数的时候.支持占位符号,以防止注入和优化语法.

Medoo::raw($query, $map)

查询列中使用

可以直接在select()中做为字段查出,这时候key值将做为别名使用
$data = $database->get('account', [
	'user_name',
	'user_id',
	'score' => Medoo::raw('SUM(<age> + <experience>)')
], [
	'user_id' => 100
]);

// SELECT "user_name", "user_id", SUM("age" + "experience") AS "score"
// FROM "WP_account"
// WHERE "user_id" > 100

在Update和Insert使用

$data = $database->insert('account', [
	'user_name' => 'apple',
	'user_id' => Medoo::raw('UUID()')
]);

$data = $database->update('account', [
	'user_name' => 'apple',
	'user_id' => Medoo::raw('UUID()')
], [
	'age[>]' => 10
]);

Where条件中使用

$data = $database->select('account', [
	'user_name',
	'user_id',
], [
	'datetime' => Medoo::raw('NOW()'),
	'ORDER' => Medoo::raw('RAND()'),
	'LIMIT' => Medoo::raw('AVG(<age>)')
]);

调用变量或传参数

使用变量或者传入参数进来,可以防止SQL注入等问题
$today = "2017-05-01";

$database->select('account', [
	'user_id',
	'user_name'
], [
	'datetime' => Medoo::raw('DATE_ADD(:today, INTERVAL 10 DAY)', [
		':today' => $today
	])
]);

直接做为where条件

可以直接使用原始对象来构建条件语句
$data = $database->select('account', [
		'user_id',
		'email'
	],
	Medoo::raw('WHERE
		LENGTH(<user_name>) > 5
        ORDER BY RAND()
        LIMIT 10
    ')
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文