xte*_*oid 0 sql-server cakephp query-builder cakephp-bake cakephp-3.0
我正在使用Cakephp 3使用sqlserver作为数据源服务器.我确信我的数据库连接没有问题..因为home.ctp提示我已连接到我的数据库..我也可以使用迁移插件来创建我的表..似乎没有问题使用这些工具.但是在我烘焙MVC之后,我只有错误的页面.
例如$ bin\cake烘焙所有测试
我发现没有错误,MVC在其特定文件夹,testController.php,testTable等中.
并在浏览器localhost:8765\tests
但我得到的只是不同错误的页面..我看到了
Error: SQLSTATE[42000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near the keyword 'desc'.
SELECT * FROM (SELECT Tests.id AS [Tests__id], Tests.desc AS [Tests__desc], (ROW_NUMBER() OVER (ORDER BY (SELECT NULL))) AS [_cake_page_rownum_] FROM tests Tests) _cake_paging_ WHERE _cake_paging_._cake_page_rownum_ <= :c0
左侧有更多错误.
我认为这是因为带有错误查询的控制器或bake生成的查询仅适用于mysql.我只是想知道如何处理这件事.有没有我忘了做的设置?请指教.我是Cakephp的新手,英语不是我的母语,如果我无法正确解释我的问题,对不起.提前致谢.
正如Vishal Gajjar在评论中已经提到的那样,你正在使用保留关键字desc作为列名,因此错误,它不是故障,它是你的.
为了能够使用这样的保留字,需要正确引用列名,但CakePHP 3不再默认自动引用,因为这是一项昂贵的操作.
如果您坚持使用保留字,请通过配置中的quoteIdentifiers选项启用标识符引用app.php,或使用DB驱动程序的autoQuoting()(enableAutoQuoting()从CakePHP 3.4开始)方法手动启用它.
也可以看看
| 归档时间: |
|
| 查看次数: |
3157 次 |
| 最近记录: |