Laravel Eloquent 访问原文

Posted

技术标签:

【中文标题】Laravel Eloquent 访问原文【英文标题】:Laravel Eloquent Accessing Original 【发布时间】:2013-11-20 00:09:25 【问题描述】:

我试图从我从我的一个模型中获得的对象中获取值。它只返回我不想要的属性,因为它与我的表中的内容不对应。 我想访问原始数组。

我做到了:

$entries = Model::where('A', $A)->where('B', $B)->get();

@Foreach ($entries as $entry) 

$entry->id
$entry->name

@Endforeach

我尝试添加->original,但它要么不起作用。

这是我的var_dump($entries)的部分第一个条目

(
    [items:protected] => Array
        (
            [0] => App\Models\TableA Object
                (
                    [table:protected] => Table A
                    [primaryKey] => id
                    [connection:protected] => 
                    [perPage:protected] => 15
                    [incrementing] => 1
                    [timestamps] => 1
                    [attributes:protected] => Array
                        (
                            [id] => 1
                            [name] => 2

                        )

                    [original:protected] => Array
                        (
                            [id] => 1
                            [name] => 1

                        )

【问题讨论】:

你能举例说明你真正想要得到什么吗?我有点困惑。如果您尝试将模型转换为数组,可以使用toArray() 方法。 laravel.com/api/… 【参考方案1】:

在检索 Eloquent 模型属性的原始值时,您 可以使用getOriginal($key)

参考:

Laravel 4.2 Laravel 5.0

【讨论】:

赞成,但链接不再有效。这是4.2 laravel.com/api/4.2/Illuminate/Database/Eloquent/… 和5.0 laravel.com/api/5.0/Illuminate/Database/Eloquent/… 的一个新地址【参考方案2】:

对于 laravel 4.2 及更高版本

$entries->toArray()

将仅提供模型属性。

【讨论】:

以上是关于Laravel Eloquent 访问原文的主要内容,如果未能解决你的问题,请参考以下文章

加入 Laravel 的 Eloquent

Laravel Eloquent 访问第三关系

使用 Eloquent 在 Laravel 中使用 where 子句访问嵌套的相关对象

PHP 干货5 个 Laravel Eloquent 小技巧

Laravel / Eloquent 模型属性可见性

ActivityLogger::performedOn() 必须是 Illuminate\Database\Eloquent\Model 的实例,给定 int,