首页 > 解决方案 > 记录查询的集合时出现数据丢失错误

问题描述

我无法访问 Laravel 中的特定集合。当我记录我查询的集合时,我收到“数据丢失”错误。

$user = Auth::user();

$chats = $user->chats()->get();
Log::debug($chats); //OK
foreach ($chats as $chat) {
    Log::debug($chat); //OK
    $latestMessage = $chat->messages()->first();
    Log::debug($latestMessage); //Causes crash
}

聊天与消息具有一对多的关系。

在 Message.php 文件中

public function chat(){
    return $this->belongsTo('App\Chat');
}

在 Chat.php 文件中

public function messages(){
    return $this->hasMany('App\Message');
}

消息表有一个名为“chat_id”的列,它链接到聊天表的 id 列。我想我在某个地方犯了一些简单的错误,但我无法弄清楚它到底在哪里。

编辑:这似乎与日期格式有关。

protected $dateFormat = "Y-m-d H:i:s.u"

堆栈跟踪说

#0 /home/vagrant/Code/next/Laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(768): Carbon\\Carbon::createFromFormat('Y-m-d H:i:s.u', '2020-01-04 23:2...')

标签: phpmysqllaraveleloquent

解决方案


推荐阅读