Laravel - belongsToMany关系时间戳

时间:2016-04-15 02:19:52

标签: php mysql laravel

所以我有一个名为thread_user的数据透视表,我有两个模型; User.php和Thread.php。

我在User.php文件中有这个:

public function threads()
    {
        return $this->belongsToMany('App\Thread')->withTimestamps();
    }

我只想要created_at时间戳。我不想要updated_at,每当我尝试将某些内容附加到数据透视表时,我都会收到此错误:Column not found: 1054 Unknown column 'updated_at' in 'field list'...。这真的很烦人。由于某种原因,我无法获得updated_at时间戳,但我仍然需要created_at时间戳。

请告诉我如何解决这个问题。我试过以下没有运气:

return $this->belongsToMany('App\Thread')->withTimestamps(['created_at']);

请帮忙。谢谢!

1 个答案:

答案 0 :(得分:0)

由于您没有同时使用这两个时间戳,因此您需要移除对withTimestamps()的来电,只需拨打withPivot()即可找到您所拥有的字段。

因此,您的代码应如下所示:

public function threads()
{
    return $this->belongsToMany('App\Thread')->withPivot('created_at');
}