你能迭代一个有说服力的对象的属性吗


Can you iterate over the properties of an eloquent object?

如果我有,例如:

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

是否可以迭代这些属性。。。像这样的东西:

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

我正试图这样做,以实现编辑Eloquent模型

的工作单元

您可以使用toArray()方法:

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

http://laravel.com/docs/4.2/eloquent#converting-到数组或json

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

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

如果您想循环遍历Eloquent模型对象,可以尝试以下方法:

在您的控制器/组件中:

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

在刀片视图中:

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