改变laravel中检索的类型

时间:2017-11-18 06:54:26

标签: php laravel eloquent

我正在使用laravel作为API,这是我的问题,当我想要检索名为Tags的表时,其中包含[' id',' name',' post_id&# 39;],我将其序列化,如下所示

$tags = Tag::all();
        $temp=[];
        foreach ($tags as $tag) {
            $temp[] = $tag->name;
        }
        return response()->json($temp);

是否有任何最佳做法可以做到这一点,因为当我想为多个表做同样的事情时,它会烦恼......

1 个答案:

答案 0 :(得分:1)

您可以使用pluck获取单列值数组, 等,

$tags = Tag::pluck('name')->toArray();

如果你想使用关联关系,你可以这样做,

$posts = Posts::with('tags')->all();
foreach($posts as $post){
 $post->tag_name = $post->tags->pluck('tag_name');
}
echo "<pre>";
print_r($posts);

现在,您可以使用key tag_name在posts数组中获取标记名称。