勾股OA在线文档

fetchSql 与 failException

fetchSql

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

echo Db::name('Admin')->fetchSql(true)->find(1);

输出结果为:

SELECT * FROM oa_admin where `id` = 1

注意:对于某些NoSQL数据库可能不支持fetchSql方法


failException

failException设置查询数据为空时是否需要抛出异常,用于selectfind方法,例如:

// 数据不存在的话直接抛出异常
Db::name('blog')->where('status',1)->failException()->select();

// 数据不存在返回空数组 不抛异常
Db::name('blog')->where('status',1)->failException(false)->select();

或者可以使用更方便的查空报错

// 查询多条
Db::name('blog')->where('status', 1)->selectOrFail();

// 查询单条
Db::name('blog')->where('status', 1)->findOrFail();