Larave-如何从数据透视表中获取数组值

时间:2019-07-20 08:08:30

标签: laravel pivot

我有一个来自用户和课程的数据透视表。

enter image description here

当end_at列为> day时,我只需要获得course_id。

因此,我在User模型中创建了一个方法,以仅获取此条件。

public function getPurchasedCoursesId()
{
    return $this->courses()->wherePivot('end_at','>=', Carbon::now())->get();

}

这将正确返回结果,但是如何对结果进行make仅返回特定列(course_id) 结果示例:

$course_ids = $user->getPurchasedCoursesId()
dd($coursesids)
Result:
[1, 4, 6, 10]

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用pluck()

$this->courses()->wherePivot('end_at','>=', Carbon::now())->pluck('id');

以上实际上是从courses表而不是pivot表中提取信息,因为两者的数据将在同一查询中检索。