Laravel在帖子中查找标签

时间:2016-12-28 22:23:22

标签: php laravel collections

我发布了许多定义的标签。 我将帖子循环到每个帖子,我正在尝试检查标签是否包含特定名称 - 例如' car'。

$post->tags

在循环中返回我

Collection {#346 ▼
#items: array:2 [▼
0 => Tag {#353 ▼
  #fillable: array:1 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #perPage: 15
  +incrementing: true
  +timestamps: true
  #attributes: array:4 [▶]
  #original: array:8 [▶]
  #relations: array:1 [▶]
  #hidden: []
  #visible: []
  #appends: []
  #guarded: array:1 [▶]
  #dates: []
  #dateFormat: null
  #casts: []
  #touches: []
  #observables: []
  #with: []
  #morphClass: null
  +exists: true
  +wasRecentlyCreated: false
}
1 => Tag {#352 ▶}
]
}

如何查看代码名称?

1 个答案:

答案 0 :(得分:1)

您可以使用foreach循环遍历所有标记。我假设您的Tag对象具有您可以参考的名称属性。代码示例如下:

foreach($post->tags as $tag){
    if($tag->name == "THENAMEYOUARELOOKINGFOR"){
         //do sth. here
    }
}

如果您想使用in_array方法,您可以转换您的集合,以便有一个只包含标记名称的数组。

$nameArray = $posts->tags->pluck('name')->all();
//Now you can use in_array
if(in_array("YOURSTRING", $nameArray)){
    //do sth.
}