>  기사  >  백엔드 개발  >  단일 행 데이터를 얻는 Laravel 초보자 문제

단일 행 데이터를 얻는 Laravel 초보자 문제

WBOY
WBOY원래의
2016-08-18 09:15:34959검색

단일 행의 데이터를 가져오지만 너무 많은 데이터를 반환합니다


자신의 코드

<code>public function index(){
    var_dump(AdminUser::find(1));
    return view('admin.sign.index');
}</code>

모델 정의

<code><?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class AdminUser extends Model
{
    protected $table='admin_user';

    //验证正好密码
    public function check_admin($username,$pwd){
        $admin_user=$this->where('username',$username)->select(['password'])->first();
        return $admin_user;
    }
}</code>

반환된 데이터
`

object(AppAdminUser)#207 (24) { ["table":protected]=> string(10) "admin_user" ["connection":protected]=> NULL ["primaryKey":protected]=> ; string(2) "id" ["keyType":protected]=> string(3) "int" ["perPage":protected]=> int(15) ["incrementing"]=> ) ["timestamps"]=> bool(true) ["attributes":protected]=> array(5) { ["id"]=> int(1) ["username"]=> 7) "xingren" ["password"]=> string(60) "$2y$10$h0t4Hu/d5xFWGz0nH3IjIeHyzNcjRjqn3i5W9dTGIvOQB5wtVeSHi" ["status"]=> int(1) ["create_time"]=> 2 ) } ["original":protected]=> array(5) { ["id"]=> int(1) ["username"]=> > ; string(60) "$2y$10$h0t4Hu/d5xFWGz0nH3IjIeHyzNcjRjqn3i5W9dTGIvOQB5wtVeSHi" ["status"]=> int(1) ["create_time"]=> int(1483423452) } ["relations":protected]= > 배열(0) { } ["숨겨짐":보호됨]=> 배열(0) { } ["표시됨":보호됨]=> 배열(0) { } ["추가":보호됨]=> 0 ) { } ["채우기 가능":보호됨]=> array(0) { } ["보호됨":보호됨]=> array(1) { [0]=> " 날짜":보호됨]=> 배열(0) { } ["dateFormat":보호됨]=> NULL ["캐스트":보호됨]=> 배열(0) { } ["터치":보호됨]= > ; array(0) { } ["observables":protected]=> array(0) { } ["with":protected]=> array(0) { } ["morphClass":protected]=> NULL ["존재함"]=> bool(true) ["wasRecentlyCreated"]=> bool(false) }`

답글 내용:

단일 행의 데이터를 가져오지만 너무 많은 데이터를 반환합니다


자신의 코드

<code>public function index(){
    var_dump(AdminUser::find(1));
    return view('admin.sign.index');
}</code>

모델 정의

<code><?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class AdminUser extends Model
{
    protected $table='admin_user';

    //验证正好密码
    public function check_admin($username,$pwd){
        $admin_user=$this->where('username',$username)->select(['password'])->first();
        return $admin_user;
    }
}</code>

반환된 데이터
`

object(AppAdminUser)#207 (24) { ["table":protected]=> string(10) "admin_user" ["connection":protected]=> NULL ["primaryKey":protected]=> ; string(2) "id" ["keyType":protected]=> string(3) "int" ["perPage":protected]=> int(15) ["incrementing"]=> ) ["timestamps"]=> bool(true) ["attributes":protected]=> array(5) { ["id"]=> int(1) ["username"]=> 7) "xingren" ["password"]=> string(60) "$2y$10$h0t4Hu/d5xFWGz0nH3IjIeHyzNcjRjqn3i5W9dTGIvOQB5wtVeSHi" ["status"]=> int(1) ["create_time"]=> 2 ) } ["original":protected]=> array(5) { ["id"]=> int(1) ["username"]=> > ; string(60) "$2y$10$h0t4Hu/d5xFWGz0nH3IjIeHyzNcjRjqn3i5W9dTGIvOQB5wtVeSHi" ["status"]=> int(1) ["create_time"]=> int(1483423452) } ["relations":protected]= > 배열(0) { } ["숨겨짐":보호됨]=> 배열(0) { } ["표시됨":보호됨]=> 배열(0) { } ["추가":보호됨]=> 0 ) { } ["채우기 가능":보호됨]=> array(0) { } ["보호됨":보호됨]=> array(1) { [0]=> " 날짜":보호됨]=> 배열(0) { } ["dateFormat":보호됨]=> NULL ["캐스트":보호됨]=> 배열(0) { } ["터치":보호됨]= > ; array(0) { } ["observables":protected]=> array(0) { } ["with":protected]=> array(0) { } ["morphClass":protected]=> NULL ["존재함"]=> bool(true) ["wasRecentlyCreated"]=> bool(false) }`

dd(AdminUser::find(1))을 이용하여 인쇄해서 보시면 구조를 아주 명확하게 보실 수 있습니다

단일 행의 데이터인데 뭔가 문제가 있는 걸까요? 단지 데이터가 배열 형태로 존재하고 싶다면 toArray 메소드를 따라야 합니다. json이 필요하다면 toJson 메소드를 따르세요.

위의
class AdminUser extends Model
인 AdminUser 개체를 반환합니다. 이렇게 하면 AdminUserModel에 정의된
의 사용자 지정 및 상속된 메서드를 쉽게 사용할 수 있습니다. Model, __get, __set 속성만 가져오면 일반 객체처럼
직접 값을 가져올 수도 있습니다. $adminUser->id

Laravel은 매우 강력하므로 데이터베이스 쿼리는 일반적으로 일반 객체나 배열을 직접 반환하지 않습니다. 이는 모두 가능한 후속 작업을 수행하는 데 도움이 됩니다. 처음에만 겁먹지 마시고, 오랫동안 사용해보면 정말 재미있다는 걸 느끼실 거예요~!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:thinkphp 배열 병합다음 기사:thinkphp 배열 병합