加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel PDO设置?

发布时间:2020-12-14 19:46:00 所属栏目:大数据 来源:网络整理
导读:我想从我的数据库返回INT作为整数.目前,所有值都以字符串形式加载.数据库是MSSQL 2012,我使用PDO驱动程序(适用于v5.6). 试图在这里设置属性(如图所示here on fideloper.com,但我不知道是否仍然可以): 'sqlsrv' = [ 'driver' = 'sqlsrv','charset' = 'utf8',
我想从我的数据库返回INT作为整数.目前,所有值都以字符串形式加载.数据库是MSSQL 2012,我使用PDO驱动程序(适用于v5.6).

试图在这里设置属性(如图所示here on fideloper.com,但我不知道是否仍然可以):

'sqlsrv' => [
        'driver'   => 'sqlsrv','charset'  => 'utf8','prefix'   => '',......
        'options'   => array(
            PDO::ATTR_STRINGIFY_FETCHES => false,PDO::ATTR_EMULATE_PREPARES => false,),],

但总是得到一个错误:

SQLSTATE[IMSSP]: The given attribute is only supported on the PDOStatement object.

如何设置PDO驱动程序的任何设置以将INT作为整数而不是字符串返回.

这仍然无效:

$pdo = DB::connection()->getPdo();
 $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES,false);
 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
 .. do ORM Query

带来同样的错误.

也许有人可以帮助我?

我相信这个问题与使用的PDO驱动程序有关(那是用PHP安装的,而不是laravel配置).

不是你想要的,但可以解决你的问题.由于laravel 5在eloquent上是一个强制转换功能,因此您的列会自动转换为预定义类型.见http://laravel.com/docs/5.0/eloquent#attribute-casting

// Eloquent Model
protected $casts = [
    'int_column'   => 'int',];

当从数据库中检索模型时,int_column将自动转换为int

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读