为什么foreach只能在laravel中打印一个值?
我有一个方法:为什么foreach只能在laravel中打印一个值?
public function winnerDetails()
{
$winners = DB::table('winners')->get();
//dd($winners);
foreach ($winners as $winner) {
$qrMainId = $winner->qrdetails_id;
}
dd($qrMainId);
}
dd($winners);
返回的array
值,但是当我使用foreach
其回报一个值。我怎样才能得到谁回报与foreach
循环?
dd($winners)
输出:
dd($qrMainId);
和返回一个值44
。但它应该返回数组35
的另一个值;提前致谢。
要获得ID的使用
foreach ($winners as $winner) {
$qrMainId[]= $winner->qrdetails_id;
的阵列对于刚刚值使用
$qrMainId='';
foreach ($winners as $winner) {
$qrMainId.= $winner->qrdetails_id;
我只想价值不是一个数组。它会返回数组。 –
当我打印为dd($ qrMainId)时,它返回undefined'$ qrMainId';' –
不允许它返回数组。我想只是这样的价值:https://prnt.sc/gx4exu –
如果你想在一个Laravel方式来完成这项任务中使用摘去方法阵图的关键你想要
<?php
public function winnerDetails()
{
$winnersId = DB::table('winners')->get()->pluck('qrdetails_id');
dd($winnersId);
}
$ qrMainId是一个变量不是一个数组东西。
它在每个循环中都被修改为foreach。
所以你的代码总是数组的最后一个元素。
使用数组来收集值像
$qrMainId[] = $winner->qrdetails_id;
或SQL直接选择所需的字段。
您正在覆盖每个'foreach()'循环中'$ qrMainId'的值。如果您想要所有值,则需要将值保存到数组或串联字符串值。 – Sean