php - Laravel Controller 中的 foreach 循环

标签 php laravel foreach

我在 Controller (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
}

结果返回错误 未定义属性:Illuminate\Database\Eloquent\Collection::$sku

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

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

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

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

最佳答案

这将引发错误:

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

因为您无法循环使用表中特定列 ($product->sku) 的模型。
因此,您必须循环整个模型:

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

在循环内,您只需添加 ->[column_name]

即可检索所需的任何列
foreach ($product as $p) {
echo $p->sku;
}

关于php - Laravel Controller 中的 foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277443/

相关文章:

laravel - 一般错误 : 1824 Failed to open the referenced table

powershell - Foreach 循环中的多个变量 [PowerShell]

c# - foreach 循环的当前索引

list - Foreach 不同的值 knockout 列表

php - 如何使用 PHP 创建正确的 mySQL CREATE TABLE 语句

javascript - 为每个用户刷新聊天正文

php - 使用 Imagick 显示 CMYK 黑色

php - 在 Laravel 4 中创建搜索功能

php - 使用 Laravel Echo、laravel-echo-server 和 socket.io 广播将不起作用

php - Doctrine 2 重写多对一关联