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 访问原文的主要内容,如果未能解决你的问题,请参考以下文章
使用 Eloquent 在 Laravel 中使用 where 子句访问嵌套的相关对象
PHP 干货5 个 Laravel Eloquent 小技巧
ActivityLogger::performedOn() 必须是 Illuminate\Database\Eloquent\Model 的实例,给定 int,