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'=>'thinkphp@qq.com','name'=>'thinkphp'])
->where('id',':id')
->update(['name'=>':name','email'=>':email']);