如何在我的模板 PhpWord 中设置是或否值而不是 1 或 0?

How do I set Yes or No value in my template PhpWord instead of 1 or 0?

我有一个表单和一个格式为 .docx 的模板 除了复选框外,替换模板中变量的过程运行良好。在值复选框中,我有 10。 现在我想要 YesNo. 而不是布尔值(0 或 1) 我的控制器在这里:

      public function edit(Stagiaire $stagiaire, $downloadName = null)
{
    $id = $stagiaire ->id;
    $desc1 = Stagiaire::find($id);

    $my_template = new \PhpOffice\PhpWord\TemplateProcessor(public_path('templateStagiaire.docx'));

    $my_template->setValue('id', $desc1->id);
    $my_template->setValue('civilite', $desc1->civilite);
    $my_template->setValue('prenoms', $desc1->prenoms);
    $my_template->setValue('nom', $desc1->nom);

    //This 3 inputs are checbox in my form
    $my_template->setValue('regles_deonto', $desc1->regles_deonto);
    $my_template->setValue('reglement_interieur', $desc1->reglement_interieur);
    $my_template->setValue('horaires', $desc1->horaires);
    
    //The name of my file
    $first_name = $stagiaire->prenoms ;
    $last_name = $stagiaire->nom ;
    $filename = $first_name. " ". $last_name;
    

    try{
        $my_template->saveAs(storage_path("$filename.docx"));
    }catch (Exception $e){
        //handle exception
    }
    $downloadName = $downloadName??$filename;

    return response()->download(storage_path("$filename.docx"));
    }

我的表格

    <div id="container">
                    <input type="checkbox" name="regles_deonto" id="regles_deonto" value="1" required 
    > Régles déontologies
                    <input type="checkbox" name="reglement_interieur" id="reglement_interieur" 
    value="1" required > Réglement Intérieur

                    <input type="checkbox" name="horaires" id="horaires" value="1" required > 
    Horaires
    </div>

我的问题是如何在我的模板 Word 中用是或否替换布尔值(0 和 1)。 我需要帮助。 提前致谢。

你可以这样做,

//This 3 inputs are checbox in my form
    $desc1->regles_deonto = (bool)($desc1->regles_deonto) == true ? 'Yes' : 'No'; 
    $my_template->setValue('regles_deonto', $desc1->regles_deonto);

您可以对其他两个值执行类似的操作。

您可以使用 (bool) 将输入转换为布尔值并使用条件语句获取 'Yes' 或 'No':

//This 3 inputs are checbox in my form
$my_template->setValue('regles_deonto', (bool) $desc1->regles_deonto ? 'Yes' : 'No');
$my_template->setValue('reglement_interieur', (bool) $desc1->reglement_interieur ? 'Yes' : 'No');
$my_template->setValue('horaires', (bool) $desc1->horaires ? 'Yes' : 'No');