我刚刚开始使用 Laravel 框架,并找到了一个很好的分层数据小指南(通过这个网站),我工作得很好。
我遇到的唯一问题是通过 Laravel 运行以下代码:
DB::query("LOCK TABLE pages WRITE;
SELECT @myLeft := lft FROM pages WHERE id = ?;
UPDATE pages SET rgt = rgt + 2 WHERE rgt > @myLeft;
UPDATE pages SET lft = lft + 2 WHERE lft > @myLeft;
UNLOCK TABLES;", 1);
当我通过 phpmyadmin 运行命令时工作正常,但在 Laravel 中出现错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
我有许多其他查询运行良好,所以我不知道从哪里开始寻找,我已经尝试将 ` 添加到表和字段名称中,并删除了锁以查看是否会做任何事情但没有任何改变。