第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Eloquent 將集合中的元素合并到一個數(shù)組中

如何使用 Eloquent 將集合中的元素合并到一個數(shù)組中

PHP
海綿寶寶撒 2023-04-28 14:11:28
我正在嘗試以下操作:我正在使用以下函數(shù)獲取與我的患者相關(guān)的所有 clinic_tests:public function getPatientsClinicTests(Specialist $id)  {        $patientClinicTests = $id->patients()            ->with('PatientClinicTests', 'PatientClinicTests.Patient.User')            ->get()            ->pluck('PatientClinicTests')            ->filter(function ($value) { return !empty($value); });        $result = [];        foreach ($patientClinicTests as $array) {            $result = array_merge($result, $array->toArray());        }        return $result;    }第一組代碼:$patientClinicTests = $id->patients()                ->with('PatientClinicTests', 'PatientClinicTests.Patient.User')                ->get()                ->pluck('PatientClinicTests')                ->filter(function ($value) { return !empty($value); });給我?guī)砹艘唤M數(shù)組,如下所示:[  [    {      "id": 16,      "patient_id": 7,      "medical_condition_id": null,      "patient": {        "id": 7,        "user_id": 7,        "pigment_id": 14,        "id_medical_history": "6219116421",        "user": {          "id": 7,          "name": "Austen Wiegand",        }      }    },    .....  ],  [    {      "id": 22,      "patient_id": 1,      "medical_condition_id": null,      "patient": {        "id": 7,        "user_id": 1,        "pigment_id": 14,        "id_medical_history": "6219116421",        "user": {          "id": 7,          "name": "Gregor Wiegand",        }      }    },    .......  ]]因為我需要返回一個元素數(shù)組,所以我組合了我得到的數(shù)組,如下所示:$result = [];    foreach ($patientClinicTests as $array) {        $result = array_merge($result, $array->toArray());    }    return $result;這將返回一個數(shù)組,如下所示:[    {      "id": 16,      "patient_id": 7,      "medical_condition_id": null,      "patient": {        "id": 7,        "user_id": 7,        "pigment_id": 14,        "id_medical_history": "6219116421",        "user": {          "id": 7,          "name": "Austen Wiegand",        }      }    },我想知道是否有更聰明的選擇,可以使用 Eloquent 而不是 foreach 語句作為一個元素數(shù)組返回。
查看完整描述

3 回答

?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

您可以使用 all() 方法將您的集合轉(zhuǎn)換為數(shù)組:

$patientClinicTests?=?$id->patients()
????????????->with('PatientClinicTests',?'PatientClinicTests.Patient.User')
????????????->get()
????????????->pluck('PatientClinicTests')
????????????->filter(function?($value)?{?return?!empty($value);?})->all();

請注意,如果你想迭代你的數(shù)組,你應該在過濾后重建數(shù)組索引......你可以使用'values'方法來做到這一點:

$patientClinicTests?=?$id->patients()
????????????->with('PatientClinicTests',?'PatientClinicTests.Patient.User')
????????????->get()
????????????->pluck('PatientClinicTests')
????????????->filter(function?($value)?{?return?!empty($value);?})->values()->all();
查看完整回答
反對 回復 2023-04-28
?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

Flatten 方法幫助我在不使用 foreach 語句的情況下為單個數(shù)組提供 array_merge() 函數(shù):

$patientClinicTests = $id->patients()
            ->with('PatientClinicTests', 'PatientClinicTests.Patient.User')
            ->get()
            ->pluck('PatientClinicTests')
            ->filter(function ($value) { return !empty($value); })->flatten()->all();

我將按照推薦的方式使用表連接進行測試


查看完整回答
反對 回復 2023-04-28
?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

也許您可以在數(shù)組上使用 collect 方法將其對齊到單個數(shù)組中

$collection?=?collect($patientClinicTests);
$collections?=?$collection->values()->all();

也許這會奏效


查看完整回答
反對 回復 2023-04-28
  • 3 回答
  • 0 關(guān)注
  • 173 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號