首页 > 解决方案 > 我不能用我的变量从我的数组中选择一个元素

问题描述

我需要你的帮助。我正在尝试从我的数组中提取一些值,但我做不到。

这是我的控制器:

$initiated =  \App\Invitation::where('inviter_id', Sentinel::getUser()->id)->get();

这是我的观点:

{{$initiated['id']}} // undefined index error

如果我尝试使用{{$initiated->id}}未定义的属性: Illuminate\Database\Eloquent\Collection::$id

这是我的数组:

[{"id":578,"inviter_id":"545","target_id":"542","timestamp":"0","accepted":"1","read":"0"},{"id":606,"inviter_id":"504","target_id":"542","timestamp":"0","accepted":"1","read":"0"},{"id":608,"inviter_id":"548","target_id":"542","timestamp":"0","accepted":"1","read":"0"},{"id":613,"inviter_id":"553","target_id":"542","timestamp":"0","accepted":"1","read":"0"}]

所以,我需要从中挑选所有的身份证。

标签: phpdatabaselaravel

解决方案


使用此查询,您正在检索一个集合,并且集合是一个可迭代对象,因此,在您的视图中,您必须对其进行迭代才能获取id集合中每个模型的。

<!-- In your view -->

@foreach($initiated as $record)
{{ $record->id }} 
@endforeach

如果您只需要获取 id 使用该pluck方法

$initiated = \App\Invitation::where('inviter_id', Sentinel::getUser()->id)->pluck('id);

我使用了对象表示法,因为集合中充满了Invitation对象。但是数组符号 ( $record['id']) 也可以使用,因为每个模型都可以转换为数组。


推荐阅读