【问题标题】:Can you iterate over the properties of an eloquent object?你能遍历一个雄辩的对象的属性吗?
【发布时间】:2014-10-01 14:11:23
【问题描述】:

如果我有例如:

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

是否可以遍历这些属性...像这样:

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

我正在尝试这样做以实现编辑 Eloquent 模型的工作单元

【问题讨论】:

  • $project->toArray()
  • 看准了,把它作为答案:)
  • 好的,完成。很高兴我能帮忙

标签: php laravel eloquent unit-of-work


【解决方案1】:

您可以使用toArray() 方法:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      如果你想循环遍历一个 Eloquent 模型对象,你可以这样尝试:

      在您的控制器/组件中:

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

      在您的刀片视图中:

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

      【讨论】:

        猜你喜欢
        • 2018-12-08
        • 2015-11-01
        • 2021-02-15
        • 2012-01-08
        • 2014-08-09
        • 2020-05-27
        • 1970-01-01
        相关资源
        最近更新 更多