我正在进行一个项目,需要从名称中包含“.”的表中检索信息...我的查询如下所示:
$data['scale'] = DB::connection('odbc')
->table('QS36F."CF.STYL1"')
->select('SSCALE','SINTDE')
->where('STYLE#', 'LIKE', $style.'%')
->get();
显然上面的工作和回报是不
数据库状态[42000]:语法错误或访问冲突:[IBM][System i Access ODBC驱动程序][适用于i5/OS的DB2] SQL 0113-不允许使用名称“"“CF”。(SQLPrepare[0]位于/home/卡尔文/rpmbuild/BUILD/php-8.0.8/ext/pdo_odbc/odbc_driver.c:203)(SQL:从“QS 36 F”."“CF”.“STYL 1”"”中选择“SSCALE”、“SINTDE”,其中“款式编号”类似于1981USD%)
我可能会让它工作使用一个完整的原始查询,但如果有任何办法使它工作使用正常的雄辩函数,我肯定会更喜欢使用table()select()where()get()ect....
有什么建议吗?
1条答案
按热度按时间gt0wga4j1#
我用DB::raw()解决了这个问题,如下所示:
至少这样我就不是在使用完整的原始查询了。我希望这能帮助下一个需要处理包含点的表名的家伙,哈哈