从1个数组中的关系返回1列

时间:2019-02-24 11:16:11

标签: php laravel eloquent

每个人,我只需要将图像中的imagePath返回到1个数组而不是对象中 有很多关系 任何想法

    $albums_category = AlbumCategory::with('albums.images')->find($id);

1 个答案:

答案 0 :(得分:1)

您可以:

$album = AlbumCategory::with('images')->find($id);

$imagePaths = $album->images->pluck('imagePath');

或者如果您具有嵌套关系,则:

$album = AlbumCategory::with('albums.images')->find($id);
$imagemapths = [];

$album->albums->each(function($album) use($imagemapths){

    return array_merge($album->images->pluck('imagePath'), $imagemapths);
});

但是,如果只选择一列,最好选择它,避免从不需要的数据库中选择列。所以你可以做:

$album = AlbumCategory::with('albums.images:id,imagepath')->find($id);

或类似方法,根据您的表结构使用:foreign_key,column_to_select