当前位置: 首页 > 知识库问答 >
问题:

雄辩的ORM是双重引用表和字段

彭鸿文
2023-03-14

首先,我在这里使用雄辩的ORM:https://github.com/illuminate/database

没有Laravel,我只想在我的项目中使用雄辩的查询生成器。

但是:

use Illuminate\Database\Connection;
use PDO;

$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'root');
$connection = new Connection($pdo);

$user = $connection->table('user')->where('name', '=', 'foo')->get();

正在产生以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"user" where "name" = 'foo'' at line 1

查看在\Illumate\Database\Connection中执行的查询::选择()

$query变量等于:select*from“user”,其中“name=?

这是一个无效的查询,因为doble在用户周围引用了

mysql> select * from "user";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"user"' at line 1

这里有双引号的雄辩引语:https://github.com/illuminate/database/blob/master/Grammar.php#L98

共有2个答案

养昊天
2023-03-14

我修正了它,加上:

$connection-

双元魁
2023-03-14

>

  • 您可以在mysql中打开ansi_quotessql模式(SETsql_mode='ANSI_QUOTES';),然后中的模式对象名称被正确解释,有关详细信息,请参阅mysql留档模式对象名称。

    可能有一个位于eloquent级别的设置,告诉eloquent查询生成器如何引用架构对象名称。更新:将连接对象的语法设置为mysql,它将使用backtick引用对象名称。

    // set new grammar class
    
    DB::connection()->setQueryGrammar(new MySqlGrammar());
    

  •  类似资料:
    • 如何使用laravel雄辩的ORM关系在多个表中发出一个插入请求。即 表1:用户 id 姓名 电子邮件 表2:员额 id 表3:图像 id 用户id 邮政id 图像名称 关系 表id引用了其他两个表中的 表与

    • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?

    • 我正在编写php代码,对于当前的项目,我正在使用laravel框架(带有雄辩的ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。因此,一个用户可以有许多任务。在Tasks类中,我创建了方法所有者(): 但是当我以前得到用户名的时候 我得到这个异常:未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$

    • 嗨,我正在学习laravel。我使用雄辩的ORM删除方法,但我得到了不同的结果。不是真的或假的,而是空的。我设置了一个资源路由,在UsersController中有一个销毁方法。 但是我总是得到一个响应{“status”:“0”,“msg”:“failed”},数据库中的记录被删除。 然后我使用dd($res)。它在页面中显示null。 但是从课程中我学习到它返回一个布尔值true或false。

    • 我有一个无法解决的问题。我有一个包含TitleID、TextID、ImageID的新闻表。还有三张表格,标题,文本,图片。我想把它们都放在一个模型里。但当我尝试时,得到的结果就像数组中的数组。但我想要的是: 雄辩的ORM对此的反应如下: 数据库结构 新闻= 头衔= 其他表类似于标题表。

    • 我的状态帖子有以下数据库设置。对于每一篇文章,用户可以喜欢这篇文章,评论这篇文章,甚至可以由作者在原始文章中添加标签。 我试图设置我的足智多谋的控制器后带回所有的数据通过JSON对象,但我不能正确地找到评论,喜欢或标记用户名。如果有区别的话,我会用哨兵2进行认证。 以下是数据库设置: 我的Post控制器,我只是有一个简单的页面,可以显示所有内容。我不想循环查看文件中的任何内容,我只想返回json完