如何从laravel中的数据透视表中获取更多行

时间:2016-12-01 05:58:04

标签: php laravel laravel-5.3

您好我正在尝试构建一个应用程序,其中有父元素,其中有子元素,每个子元素都有自己的子子元素。我有一个由user_id,plan_id和child_id组成的数据透视表,现在我正在尝试获取子项。如何获取数组中的所有子项。:

我正在尝试以下代码:

$user = Auth::user();
$selectplan = 1;
$children = $user->relations()->wherePlanId($selectplan)->first()->pivot->child;

我只能获得第一个孩子,但我有更多的行要提取:

/**** Table Column ****
*
*
/--id----user_id----plan_id----child----created_at----updated_at
    1        1         1         2        NULL          NULL
    1        1         2         3        NULL          NULL
    1        1         1         4        NULL          NULL
    1        2         1         7        NULL          NULL
    1        2         1         8        NULL          NULL
    1        2         3         10       NULL          NULL

请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:1)

first仅返回单个模型实例;第一个匹配查询约束。要返回集合,您需要使用get

$children = $user->relations()->wherePlanId($selectplan)->get()->pivot->child;