Php 拉威尔:如何获得雄辩模型的列名?

Php 拉威尔:如何获得雄辩模型的列名?,php,laravel,Php,Laravel,我使用的是Laravel5.2,我想获得所选Elount模型的所有列(属性)名称,有没有办法做到这一点 以下是我在控制器方法中的代码 if($request->method=="edit") { /*we are in edit mode details of given news ID should be attached*/ $curNews=News::find($request->newsID); if($cur

我使用的是Laravel5.2,我想获得所选Elount模型的所有列(属性)名称,有没有办法做到这一点

以下是我在控制器方法中的代码

    if($request->method=="edit")
    {
        /*we are in edit mode details of given news ID should be attached*/
        $curNews=News::find($request->newsID);
        if($curNews==null)return back()->withErrors(["Unable to Edit News:No Data Found For Given News ID"]);

        foreach((array)$curNews->attributes as $key=>$val)
        {
            $data[$key]=$val;
        }

    }

    return view('adminarea.news.news-addedit',$data);

如果您想获得属性的名称,可以尝试以下方法

$item = News::find($request->newsID);

    $attributes = array_keys($item->getOriginal());
// or 
$attributes = array_keys($item->getAttributes());

我不知道我是对的还是错的,但我已经克服了下面的代码,它对我很有用

    if($request->method=="edit")
    {
        /*we are in edit mode details of given news ID should be attached*/
        $curNews=News::find($request->newsID);
        if($curNews==null)return back()->withErrors(["Unable to Edit News:No Data Found For Given News ID"]);

        foreach($curNews->toArray() as $key=>$val)
        {
            $data[$key]=$val;
        }

    }

    return view('adminarea.news.news-addedit',$data);

请显示一些代码到@aynber,我只希望列名为array@joy这是php的基础知识,您已经有了一个对象,它具有
fieldName='some data'
,所以这不是laravel的问题-这都是关于php的基础知识(如何获取对象的属性),很抱歉,我会投你的反对票question@num8er ,你是对的,但它的平台在顶部学习Nimport模式-使用illumb\Support\Facades\schema;这就是从表中获取列名的方式,而不是从模型中获取列名的方式——这是有疑问的。如果模型表是动态的,并且可能会更改,这不是一个好的解决方案。在7.xf中不起作用。出于某种奇怪的原因,它开始按字母顺序自动排序键
\array\u keys($model->getAttributes())
适用于我对于较新的Laravel版本(在我的例子中是5.8)只需使用:
使用模式带有light\Support\etc的路径将不起作用。如果是集合,请使用$items->first()->getAttributes()
    if($request->method=="edit")
    {
        /*we are in edit mode details of given news ID should be attached*/
        $curNews=News::find($request->newsID);
        if($curNews==null)return back()->withErrors(["Unable to Edit News:No Data Found For Given News ID"]);

        foreach($curNews->toArray() as $key=>$val)
        {
            $data[$key]=$val;
        }

    }

    return view('adminarea.news.news-addedit',$data);