Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 正在修复Laravel中的SQL Server格式日期_Sql Server_Laravel - Fatal编程技术网

Sql server 正在修复Laravel中的SQL Server格式日期

Sql server 正在修复Laravel中的SQL Server格式日期,sql-server,laravel,Sql Server,Laravel,我使用Laravel 7和数据库SQL Server 2017,我的数据库中的日期格式如下 数据库中存储的日期格式:2020-08-10 我的问题是,当我在Laravel项目中得到日期时,我得到的格式更改如下:2020年1月20日12:00:00:AM 我的代码是 $ratingSession = RatingSession::first(); return $ratingSession['pk_date']; 如何修复此问题?最简单的方法是使用。它包含在Laravel中 r

我使用Laravel 7和数据库SQL Server 2017,我的数据库中的日期格式如下

数据库中存储的日期格式:2020-08-10

我的问题是,当我在Laravel项目中得到日期时,我得到的格式更改如下:2020年1月20日12:00:00:AM

我的代码是

$ratingSession = RatingSession::first();
        return $ratingSession['pk_date'];

如何修复此问题?

最简单的方法是使用。它包含在Laravel中

return \Carbon\Carbon::parse($ratingSession['pk_date'])->format('Y-m-d');
如果您始终希望使用此格式,则可以在模型中使用:

class RatingSession extends Model
    /**
     * The attributes that should be mutated to dates.
     *
     * @var array
     */
    protected $dates = [
        'pk_date',
    ];

    /**
     * The storage format of the model's date columns.
     *
     * @var string
     */
    protected $dateFormat = 'Y-m-d';

这是因为我不能解决我的问题,我可以随时转换日期。但我的问题是我不能在pk_日期不存在的地方使用查询work@achmadsyarippudin你的问题对此毫无疑问。更新您的问题。SQL Server中的列定义是什么-
varchar
date
?我定义了列类型date,因此
date
的列类型本身没有格式,它只是一个日期。然而,您在数据库中看到的格式只是数据库客户端(SSMS?)显示它的默认方式。当您将其拉入Laravel时,它会自动转换为字符串,或者再次看到默认格式。我不知道Laravel是否支持原生日期对象,但如果它真的支持其中的一个。如果没有,您可能希望使用SQL函数
format
强制设置日期的格式。