Eloquent(Laravel)结果为数组

时间:2016-02-26 10:33:59

标签: php arrays laravel eloquent

我试图将Eloquent(Laravel 4.2)的结果变成简单的数组,所以我提出array_diff

在文档中,我找到了all()函数,它给数组提供了结果,但由于array_diff,我也无法获得结果。

我有:

$curCentres = Doccentre::where('r_document', $document)->select('r_id')->get()->all();

但这会返回类似的内容:

array(2) { 
    [0]=> object(Doccentre)#1125 (20) {
         ["table":protected]=> string(9) 
            "doccentre" ["primaryKey":protected]=> string(4) 
            "r_id" ["timestamps"]=> bool(false) 
            ["connection":protected]=> NULL 
            ["perPage":protected]=> int(15) 
            ["incrementing"]=> bool(true) 
            ["attributes":protected]=> array(1) {
                 ["r_id"]=> string(1) "1" 
            } 
            ["original":protected]=> array(1) { 
                ["r_id"]=> string(1) "1" 
            }
            ["relations":protected]=> array(0) { } 
            ["hidden":protected]=> array(0) { } 
            ["visible":protected]=> array(0) { } 
            ["appends":protected]=> array(0) { } 
            ["fillable":protected]=> array(0) { } 
            ["guarded":protected]=> array(1) { 
                [0]=> string(1) "*" 
            } 
            ["dates":protected]=> array(0) { } 
            ["touches":protected]=> array(0) { } 
            ["observables":protected]=> array(0) { } 
            ["with":protected]=> array(0) { } 
            ["morphClass":protected]=> NULL 
            ["exists"]=> bool(true) 
        } 
    [1]=> object(Doccentre)#1124 (20) { 
        ["table":protected]=> string(9) 
        "doccentre" ["primaryKey":protected]=> string(4) 
        ....
} 

我所需要的只是:

array(2) { [0]=> string(1) "1" [1]=> string(1) "2" } 

有没有办法得到它?我也尝试过toArray(),但它只会出错。

1 个答案:

答案 0 :(得分:4)

您可以使用lists检索列值列表:

$curCentres = Doccentre::where('r_document', $document)->lists('r_id');

希望这有帮助。