首页 > 解决方案 > 如何缩短此代码,我对每个代码都做同样的事情并声明变量

问题描述

我认为我的代码对于这样的事情很丑陋,我正在做两次 foreach。

$peoples;
$container = [];

foreach( $this->media_model->people as $person )
{
    $people = Person::whereHas('jobs', function( Builder $query ){
        $query->where('job_name', '=', 'Artist');
    })->get();

    $peoples = $people;
}

$peoples 返回 json

[
    {
        "person_id": 1,
        "first_name": "Suzuki",
        "last_name": "Amanda"
    },
    {
        "person_id": 3,
        "first_name": "Stephen",
        "last_name": null
    }
]

我需要再次对数据做一些事情以加入名字和姓氏

foreach( $peoples as $person )
{
    array_push($container, $person->first_name.' '.$person->last_name);
}

return $container;

最后json数据将是

[
    "Suzuki Amanda",
    "Stephen "
]

标签: php

解决方案


推荐阅读