2017-03-20 128 views
1

我是laravel中使用Laravel 5.3的新手。 我正在创建一个check()函数laravel模型用户登录 这里我得到所有数据表格数据库使用默认$this->all();这个返回我一个大multidymentional 数组。Laravel获取属性数据

Illuminate\Database\Eloquent\Collection Object 
(
    [items:protected] => Array 
     (
      [0] => App\wn_users Object 
       (
        [table:protected] => wn_users 
        [timestamps] => 
        [fillable:protected] => Array 
         (
          [0] => role_id 
          [1] => firstname 
          [2] => lastname 
          [3] => username 
          [4] => email 
          [5] => password 
          [6] => companyname 
          [7] => country_id 
          [8] => description 
          [9] => ip 
          [10] => update_date 
          [11] => status 
         ) 

        [connection:protected] => 
        [primaryKey:protected] => id 
        [keyType:protected] => int 
        [incrementing] => 1 
        [with:protected] => Array 
         (
         ) 

        [perPage:protected] => 15 
        [exists] => 1 
        [wasRecentlyCreated] => 
        [attributes:protected] => Array 
         (
          [user_id] => 1 
          [role_id] => 1 
          [firstname] => Aman kumar 
          [lastname] => -- 
          [username] => Aman kumar 
          [email] => [email protected] 
          [password] => e10adc3949ba59abbe56e057f20f883e 
          [companyname] => Imax 
          [country_id] => 123 
          [description] => Testing 
          [ip] => 192.168.1.1 
          [update_date] => 2017-03-20 
          [status] => 0 
          [created_at] => 
          [updated_at] => 
         ) 

        [original:protected] => Array 
         (
          [user_id] => 1 
          [role_id] => 1 
          [firstname] => Aman kumar 
          [lastname] => -- 
          [username] => Aman kumar 
          [email] => [email protected] 
          [password] => e10adc3949ba59abbe56e057f20f883e 
          [companyname] => Imax 
          [country_id] => 123 
          [description] => Testing 
          [ip] => 192.168.1.1 
          [update_date] => 2017-03-20 
          [status] => 0 
          [created_at] => 
          [updated_at] => 
         ) 

        [casts:protected] => Array 
         (
         ) 

        [dates:protected] => Array 
         (
         ) 

        [dateFormat:protected] => 
        [appends:protected] => Array 
         (
         ) 

        [events:protected] => Array 
         (
         ) 

        [observables:protected] => Array 
         (
         ) 

        [relations:protected] => Array 
         (
         ) 

        [touches:protected] => Array 
         (
         ) 

        [hidden:protected] => Array 
         (
         ) 

        [visible:protected] => Array 
         (
         ) 

        [guarded:protected] => Array 
         (
          [0] => * 
         ) 

       ) 

     ) 

) 

但我只想得到'attributes:protected'在laravel中形成整个数组。我已经尝试

echo $data = $this->getAttributes()['firstname'];但这将返回错误

Undefined index: firstname 

请帮我解决我的问题提前

感谢您的帮助和时间。

回答

1

一个非常简单的方法:

$arr = $this->all()->toArray(); 

var_dump($arr); // oh~ array data! 
0

所以,你必须具有属性的集合。你可以访问它们,就像$collection->first()->firstname或者,如果你想要做一些操作所有项目使用每个方法:

$collection = $collection->each(function ($item, $key) { 
    $item->firstname .= ' Smith'; 
});