2013-11-08 2 views
5

Я пытаюсь получить значение от объекта, который я получаю от одной из моих моделей. Он возвращает только те атрибуты, которые мне не нужны, потому что они не соответствуют тому, что находится в моей таблице. Я хочу получить доступ к исходному массиву.Laravel Eloquent Accessing Original

я сделал:

$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 

         ) 
+0

Можете ли вы привести пример того, что вы на самом деле пытаетесь получить? Я немного запутался. Если вы пытаетесь преобразовать модель в массив, вы можете использовать метод 'toArray()'. http://laravel.com/api/source-class-Illuminate.Database.Eloquent.Model.html#1725-1735 –

ответ

14

При получении исходного значения красноречивого атрибута модели, вы можете использовать getOriginal($key)

Ссылка:

+5

Продвинутое голосование, однако ссылка больше не работает. Вот новый для '4.2' http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Model.html#method_getOriginal и один для' 5.0' http://laravel.com/api/5.0/Illuminate /Database/Eloquent/Model.html#method_getOriginal –

-1

Для Laravel 4,2 и

$entries->toArray() 

Обеспечит модели атрибуты только.