没看明白,你的意思是视频教程中这样做了没报错,而你这样用了就报错了吗?代码贴一下,你用的ThinkPHP是哪个版本?
$res = Db::table('fd_user')->where('sex','eq','男')
->where(function($query){
$query->where('name','like','李%')
->whereOr('age','eq',18);
})
->buildSql();
dump($res);
打印的结果是:
string(91) "( SELECT * FROM `fd_user` WHERE `sex` = '男' AND ( `name` LIKE '李%' OR `age` = 18 ) )";
参考网址:
https://www.kancloud.cn/manual/thinkphp5/135184 tp5手册 高级查询中的混合查询