知识笔记(八十四)———链式语句中fetchSql和force和bind用法

fetchSql:

fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法。 例如:

$result = Db::table('think_user')->fetchSql(true)->find(1);

输出result结果为: SELECT * FROM think_user where id = 1

force:

force 方法用于数据集的强制索引操作,例如:

Db::table('think_user')->force('user')->select();

对查询强制使用user索引,user必须是数据表实际创建的索引名称。

bind:

bind方法用于手动参数绑定,大多数情况,无需进行手动绑定,系统会在查询和写入数据的时候自动使用参数绑定。

bind方法用法如下:

// 用于查询
Db::table('think_user')
->where('id',':id')
->where('name',':name')
->bind(['id'=>[10,\PDO::PARAM_INT],'name'=>'thinkphp'])
->select();

// 用于写入
Db::table('think_user')
->bind(['id'=>[10,\PDO::PARAM_INT],'email'=>'[email protected]','name'=>'thinkphp'])
->where('id',':id')
->update(['name'=>':name','email'=>':email']);

你可能感兴趣的:(笔记,数据库,sql)