php – Laravel PDO设置?

前端之家收集整理的这篇文章主要介绍了php – Laravel PDO设置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从我的数据库返回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

原文链接:https://www.f2er.com/laravel/135130.html

猜你在找的Laravel相关文章