Laravel数组到字符串问题

问题描述 投票:0回答:1

我在EnrolmentDetailsController中有以下数组,我似乎无法循环并在电子邮件视图中正确显示:

        $data = array(
         'student_first_name'    => $customer->student_first_name,
         'student_last_name'     => $customer->student_last_name,
         'student_email'         => $customer->student_email,
         'subject'               => 'Confirmation of Payment Plan',
        );

        foreach($customer->orders as $order){
        $data['product_descriptions'][] = array(
        'product_description' => $order->product_description,
        );
        }



    Mail::send('emails.confirmation', $data, function($confirmation) use ($data){
        $confirmation->from('[email protected]');
        $confirmation->to($data['student_email']);
        $confirmation->subject($data['subject']);
    }); 

如果我在视图中使用以下内容,它将仅显示product_descriptions数组中的第一个值以及其他$ data数组信息:

<?php foreach($product_descriptions as $item){echo $item;} ?>

如果我指定了密钥,我可以获得数组中的每个条目但不理想,因为如果产品订单与电子邮件视图中的偏移量不匹配,则会引发错误:

<?php foreach($product_descriptions[0] as $item){echo $item;} ?>

如果我在电子邮件视图中使用以下内容,则会出现数组错误:{{$ product_descriptions}}

dd($ product_descriptions)在我的电子邮件视图中为我提供了以下数组

array:2 [▼
0 => array:1 [▼
"product_description" => "Course 1"
]
1 => array:1 [▼
"product_description" => "Course 2"
]
]
php arrays laravel
1个回答
2
投票

你在这里把它包装成一个数组:

foreach($customer->orders as $order){
    $data['product_descriptions'][] = array(
        'product_description' => $order->product_description,
    );
}

删除周围的array(...),它应该没问题。像这样:

foreach($customer->orders as $order){
    $data['product_descriptions'][] = order->product_description;
}
© www.soinside.com 2019 - 2024. All rights reserved.