你能迭代一个雄辩的对象的属性吗?

时间:2014-10-01 14:11:24

标签: php laravel eloquent unit-of-work

如果我有例如:

$project = new Project(); // Project is a class that extends Eloquent
$project->title;
$project->something;

是否有可能迭代这些属性......像这样:

foreach( $project as $key => $value )
{
    echo $key;
}

我正在努力实现编辑Eloquent模型的工作单元

3 个答案:

答案 0 :(得分:14)

您可以使用toArray()方法:

foreach( $project->toArray() as $key => $value )
{
    echo $key;
}

http://laravel.com/docs/4.2/eloquent#converting-to-arrays-or-json

答案 1 :(得分:8)

您还可以使用getAttributes()方法:

foreach ($project->getAttributes() as $k => $v) {
    echo $k.' '.$v."<br />";
}

答案 2 :(得分:0)

如果你想遍历一个 Eloquent 模型对象,你可以试试这种方式:

在您的控制器/组件中:

$results = Users::where(...)->paginate(10);
$items = collect($results->items();

在您的刀片视图中:

@foreach ($items->toArray() as $k => $v) {}