如何从laravel中的数组中获得排序数据

bn31dyow  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(451)

我想得到排序格式的数据。这是我的数组

Illuminate\Support\Collection Object
(
    [items:protected] => Array
    (
        [0] => stdClass Object
            (
                [id] => 47
                [user_id] => 2
                [title] => SSS
                [category_id] => 4
                [description] => sss description sss description sss description sss description sss description sss description sss description sss description sss description sss description
                [deliverable_status] => pending reviews
                [created_at] => 2018-01-17 13:26:19
                [updated_at] => 2018-01-17 13:26:19
                [category_name] => Designs
                [reviewer_user_id] => 3
                [email] => def@yopmail.com
            )

        [1] => stdClass Object
            (
                [id] => 47
                [user_id] => 2
                [title] => SSS
                [category_id] => 4
                [description] => sss description sss description sss description sss description sss description sss description sss description sss description sss description sss description
                [deliverable_status] => pending reviews
                [created_at] => 2018-01-17 13:26:19
                [updated_at] => 2018-01-17 13:26:19
                [category_name] => Designs
                [reviewer_user_id] => 4
                [email] => abc@yopmail.com
            )

    )

)
这两个记录有相同的数据,除了审阅者id和电子邮件。所以我需要两个电子邮件的单个数组。我需要在单个数组中的那些。这是我需要的示例数组

[0] => stdClass Object
            (
                [id] => 47
                [user_id] => 2
                [title] => SSS
                [category_id] => 4
                [description] => sss description sss description sss description sss description sss description sss description sss description sss description sss description sss description
                [deliverable_status] => pending reviews
                [created_at] => 2018-01-17 13:26:19
                [updated_at] => 2018-01-17 13:26:19
                [category_name] => Designs
                [email] => [0] => stdClass Object (
                                       [0] => 'def@yopmail.com',
                                       [1] => 'abc@yopmail.com',
                                  )             
           )
nqwrtyyt

nqwrtyyt1#

如果您是从数据库中获取数据,可以在select方法中的查询中尝试

DB::raw('group_concat(colum_name) as names')
slsn1g29

slsn1g292#

您可以尝试:

$sortedarray = array_unique(array_merge($items[0],$items[1]), SORT_REGULAR);
rnmwe5a2

rnmwe5a23#

使用以下代码:

$result = $collection->unique('id')
    ->map(function ($item) use ($collection) {
        $item->email = $collection->where('id', $item->id)
            ->pluck('email')
            ->toArray();
        return $item;
    })
    ->first();

结果将是:

stdClass Object
            (
                [id] => 47
                [user_id] => 2
                [title] => SSS
                [category_id] => 4
                [description] => sss description sss description sss description sss description sss description sss description sss description sss description sss description sss description
                [deliverable_status] => pending reviews
                [created_at] => 2018-01-17 13:26:19
                [updated_at] => 2018-01-17 13:26:19
                [category_name] => Designs
                [email] => Array (
                                       [0] => 'def@yopmail.com',
                                       [1] => 'abc@yopmail.com',
                                  )             
           )

相关问题