Sql server 如何在PDO ODBC SQLServer Laravel5框架中使用雄辩的ORM
我正在尝试使用雄辩的ORM laravel5 PDO ODBC连接进行查询,以检索所有用户,以及何时执行此操作Sql server 如何在PDO ODBC SQLServer Laravel5框架中使用雄辩的ORM,sql-server,laravel-5,eloquent,pdo-odbc,Sql Server,Laravel 5,Eloquent,Pdo Odbc,我正在尝试使用雄辩的ORM laravel5 PDO ODBC连接进行查询,以检索所有用户,以及何时执行此操作 $email = "myemail@domain.com"; $data = Users::where('email',$email)->get(); 我得到这个错误 "SQLSTATE[42000]: Syntax error or access violation: 402 [FreeTDS][SQL Server]The data types varchar and te
$email = "myemail@domain.com";
$data = Users::where('email',$email)->get();
我得到这个错误
"SQLSTATE[42000]: Syntax error or access violation: 402 [FreeTDS][SQL Server]The data types varchar and text are incompatible in the equal to operator. (SQLExecute[402] at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php56-odbc/work/php-5.6.19/ext/pdo_odbc/odbc_stmt.c:254) (SQL: select * from \"Users\" where \"email\" = 'myemail@domain.com')"
正如您看到的,我正在使用FreeTDS连接SQL Server,我不知道这个驱动程序是否需要传统配置,或者我必须修改laravel core
在这个错误中,主要的问题是\\\\\\\\\\\\\\\\\\/code>反斜杠和用户
和电子邮件
周围的引号。我怎样才能去掉这个引号,以及为什么拉威尔会这样做
但是如果我尝试这个
$sql = "SELECT * FROM $this->table WHERE email = 'myemail@domain.com'";
$return = DB::select(DB::raw($sql));
它工作得很好,但我认为这不是在laravel中构建查询的更好方法
用户模型截图
供参考
我正在Mac OS X EL Capitan、MAMP服务器、PHP5.6.10、pdo odbc上使用laravel 5您是否正在打印数据本身?我的意思是,您没有返回包含该数据的视图?我返回的是json数据,但我需要先运行查询。您在使用用户模型时是否看到了Eloquent生成的SQL?是的,在第二段代码中<代码>(SQL:从\“用户\”中选择*其中\“电子邮件\=”myemail@domain.com“)”
您能提供您的用户模型定义的屏幕截图吗?只是为了确保它是正确的