不能从get()函数laravel Eloquent

时间:2019-04-16 20:35:21

标签: php laravel eloquent

下面的代码不能给我正确的查询结果。

$studentMeta = StudentMeta::where([
    'meta_key' => 'brother_phone',
    'students_id' => 9
])->get();
print_r($studentMeta);

我得到以下结果: enter image description here

但是,我期望这样的事情:

$studentMeta => Array
(
    [id] => 49
    [meta_key] => brother_phone
    [meta_value] => 7926161024
    [created] => 2019-04-17 00:10:03
    [students_id] => 9
)

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

就是这样,因为您将获得模型实例的集合(例如,因为您使用的是get()而不是first())。

如果您想将其返回到视图,Laravel将在幕后调用->toArray()方法。

尝试执行此操作以查看您的预期结果:

$studentMeta =  StudentMeta
                    ::where(['meta_key' => 'brother_phone', 'students_id'=> 9])
                    ->get();

dd($studentMeta->toArray());

查看文档的此部分:Eloquent Serialization