如何在版本3.1的laravel excel中设置要导出的自定义值

如何在版本3.1的laravel excel中设置要导出的自定义值,excel,laravel,Excel,Laravel,我尝试将laravel excel集成到matwesite excel 3.1版并导出。在之前的版本2.1中,我可以轻松地设置如下条件 $birth_date = new \DateTime($patient->dob); $meet_date = new \DateTime($patient->visit_date); $interval = $birth_date->diff($meet_date); $age

我尝试将laravel excel集成到matwesite excel 3.1版并导出。在之前的版本2.1中,我可以轻松地设置如下条件

        $birth_date = new \DateTime($patient->dob);
        $meet_date = new \DateTime($patient->visit_date);
        $interval = $birth_date->diff($meet_date);
        $age = $interval->format('%y');
        'BMI' => ($age >= 15) ? $patient->bmi : '',
下面是我的可导出DataExport.php代码

public function collection()
{
    $patient_data = DB::table('histories as hi')
    ->join('doctors as d','d.id','=','hi.doctor_id')
    ->join('patients as p','p.id','=','hi.patient_id')
    ->join('addresses as ad','ad.id','=','p.address_id')
    ->join('patient_infos as pi','pi.id','=','hi.patient_info_id')
    ->join('users as u','u.id','=','d.user_id')
    ->orderBy('hi.id','DESC')
    ->select('hi.id as hid','hi.created_at as visit_date','hi.diagnosis as diagnosis','hi.sec_diagnosis as sec_diagnosis','u.name as dname','p.name as patient_name','p.age as dob','p.reg_mem as reg_mem','p.gender as sex','ad.name as address','p.centre_patient_id as ecohid','pi.*')
    ->get();

    return $patient_data;
}
我使用withheadings,这是我的标题

public function headings(): array
{
    return [
        'Date','ECOH ID','Pt. Type','Patient Name','Age','Sex','Address','Doctor Name','Pri. Diagnosis','Sec. Diagnosis','SBP','DBP','Pulse','Oxy','Temp.','Weight','Height','BMI','Edema','Anemia','Jaundice','HTN','DM','Salt Intake','SLT','Smoking',
    ];
}

现在如何设置数据值

我通过放置代码解决了这个问题

\DB::raw('IF((p.gender = 0),"M","F") as sex')

使用DB::raw then condition,true,false

您能更好地解释预期结果是什么吗?因为您可以看到粗体,我在其中使用值设置单个列,并在需要时设置条件。示例:在数据库中,性别是存储0或1,在导出中,我想显示0=男性,1=女性