控制器中的laravel foreach循环

新手上路,请多包涵

我在控制器(laravel 4)中循环数据时遇到问题。我的代码是这样的:

 $owner = Input::get('owner');
$count = Input::get('count');
$product = Product::whereOwnerAndStatus($owner, 0)->take($count)->get();

当我想使用 foreach 循环 $product 结果时,代码如下:

 foreach ($product->sku as $sku) {
    // Code Here
}

结果返回错误 Undefined property: Illuminate\Database\Eloquent\Collection::$sku

所以,我尝试用这段代码即兴发挥一点:

 foreach ($product as $items) {
    foreach ($items->sku as $sku) {
        // Code Here
    }
}

代码返回如下错误: foreach() 提供的参数无效

有人可以帮我解决这个问题吗?

原文由 thefalasifas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 639
2 个回答

这将引发错误:

 foreach ($product->sku as $sku){
// Code Here
}

因为您不能从表中循环具有特定列( $product->sku )的模型。

因此,您必须循环整个模型:

 foreach ($product as $p) {
// code
}

在循环内,您可以检索您想要添加的任何列 ->[column_name]

 foreach ($product as $p) {
echo $p->sku;
}

原文由 alex t 发布,翻译遵循 CC BY-SA 4.0 许可协议

在桌子上使用 foreach

为了我

@foreach($products as $data)
            <tr>
                <td>{{$data->id}}</td>
                <td>{{$data->name}}</td>
                <td>{{$data->price}}</td>
            </tr>
 @endforeach

原文由 Mithpans 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题