获取foreach中的集合ID

时间:2018-02-05 11:05:34

标签: laravel eloquent

我试图获取共享的ID,但是,我在链接中做了一个foreach,看看:

@foreach($user->getRelation('shares')->pluck('links') as $link)

{{ $link->first()->title }} //works

{{ //get the ID, of the current share }}

@endforeach

我该怎么做?

DD($用户>股);

Collection {#338 ▼
  #items: array:3 [▼
    0 => Share {#343 ▼
      #attributes: array:6 [▼
        "id" => 7
        "link_id" => 3
        "user_id" => 1
        "shared_in" => null
        "content" => "testetste"
        "created_at" => "2018-02-02 15:46:13"
      ]
      #relations: array:1 [▼
        "links" => Collection {#349 ▶}
      ]
    }
    1 => Share {#344 ▶}
    2 => Share {#345 ▶}
  ]
}

2 个答案:

答案 0 :(得分:3)

您可以指定id作为pluck()方法的第二个参数:

@foreach($user->getRelation('shares')->pluck('links', 'id') as $id => $link)
    {{ $link->first()->title }}
    {{ $id }}
@endforeach

答案 1 :(得分:1)

在这种情况下,您的股票?已经完全与视图共享,因此删除链接和ID并不能真正为您节省很多性能,这意味着这个循环不必要地复杂化。

!!:s/old//

但是,如果您要在此视图实例中使用的只是链接和ID,那么我建议您在控制器中修改查询以减少发送到视图实例的整个集合的大小。