首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在控制器Laravel 7中从数据库中更改数据格式

如何在控制器Laravel 7中从数据库中更改数据格式
EN

Stack Overflow用户
提问于 2020-12-13 05:32:55
回答 6查看 2.7K关注 0票数 1

我试着在数据库中显示数据,数据库中的数据格式类似于2020-10-11T17: 22: 29.0000Z ",我如何才能将其更改为2020-10-11,或2020年12月11日?

这是我的控制器

代码语言:javascript
复制
 public function get_all_artikel(){
        $data = ArtikelKonten::select(
                'artikel_kategori.nama as kategori','artikel_konten.*')
                ->join('artikel_kategori','artikel_kategori.id','artikel_konten.id_kategori')
                ->get();
        if ($data){
         return response()->json([
                'status' => true,
                'artikel' => $data,
         ],200);}
         else{
             return response()->json([
                'status' => false,
                'message' => 'No Artikel were found'
         ],404);}
        }

这是我的模型

代码语言:javascript
复制
class ArtikelKonten extends Model
{
    
    protected $table = 'artikel_konten';
    protected $fillable = ['id_kategori', 'gambar', 'tag_program', 'nm_program', 'judul', 'preview', 'konten'];
    
    const CREATED_AT = 'created';
    const UPDATED_AT = 'modified';
}

这就是结果

代码语言:javascript
复制
{
    "status": true,
    "artikel": [
        {
            "kategori": "Program",
            "id": 4,
            "id_kategori": "2",
            "tag_program": "2",
            "nm_program": "Zakat Mall",
            "gambar": "http://127.0.0.1:8000/storage/photos/1/article1.png",
            "judul": "Mengenalkan Zakat Kepada Anak",
            "preview": null,
            "konten": null,
            "created": "2020-12-10T07:24:50.000000Z",
            "modified": "2020-12-10T08:06:07.000000Z"
        },
        {
            "kategori": "Berita",
            "id": 10,
            "id_kategori": "1",
            "tag_program": "4",
            "nm_program": "Jumat Barokah",
            "gambar": "http://127.0.0.1:8000/storage/photos/1/article2.png",
            "judul": "Suplemen Iman Ditengah Pandemi",
            "preview": null,
            "konten": null,
            "created": "2020-12-11T20:44:25.000000Z",
            "modified": "2020-12-11T20:44:25.000000Z"
        },
        {
            "kategori": "Program",
            "id": 11,
            "id_kategori": "2",
            "tag_program": "2",
            "nm_program": "Zakat Mall",
            "gambar": "http://127.0.0.1:8000/storage/photos/1/article3.png",
            "judul": "Menumbuhkan Semangat Berzakat Umat",
            "preview": null,
            "konten": null,
            "created": "2020-12-11T20:46:23.000000Z",
            "modified": "2020-12-11T20:46:23.000000Z"
        }
    ]
}

我只是把“创建”改为“创建”:“2020-12-11T20:46:23.0000Z”,改为"create":"2020-12-11",谢谢各位的回答:)

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-12-13 05:46:30

Laravel 7在雄辩的模型上使用toArraytoJson方法时使用了一种新的日期序列化格式。

如果您想继续使用前面的行为,可以重写模型上的serializeDate()方法:

代码语言:javascript
复制
use DateTimeInterface;

protected function serializeDate(DateTimeInterface $date)
{
    return $date->format('Y-m-d');
}

请参阅正式升级文档这里 7.x

票数 1
EN

Stack Overflow用户

发布于 2020-12-13 05:35:19

使用date()进行清空日期和时间格式化

代码语言:javascript
复制
date('d-m-Y', strtotime($value->created));
票数 0
EN

Stack Overflow用户

发布于 2020-12-13 05:43:22

雄辩模型有一个名为cast的属性,用于将查询的输出转换成所需的格式,在您的示例中,只需像在文档中那样强制转换日期列

代码语言:javascript
复制
class ArtikelKonten extends Model
{

protected $casts = [
    'created' => 'datetime:Y-m-d','modified' => 'datetime:Y-m-d'
];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65272660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档