>  기사  >  PHP 프레임워크  >  Laravel ORM의 멋진 작업을 알고 계시나요?

Laravel ORM의 멋진 작업을 알고 계시나요?

藏色散人
藏色散人앞으로
2020-05-18 16:26:072986검색

다음 튜토리얼 칼럼인 Getting Started with Laravel에서는 여러분이 모르는 Laravel ORM의 멋진 작업을 소개할 예정입니다. 필요한 친구들에게 도움이 되길 바랍니다!

Laravel ORM의 멋진 작업을 알고 계시나요?

append

    class User extends Model
    {
        protected $appends = ['is_adult'];
        public function getIsAdultAttribute()
        {
            return $this->attribute['age'] > 18;
        }
    }

다들 이 연산을 사용해 보셨나요? 데이터베이스에 없는 필드를 모델에 추가하면 매우 편리합니다. 그러나 $appends는 전역적이며 is_adult 필드가 모든 쿼리에 추가됩니다.

User::select('id', 'name')->first();

이와 같이 쿼리하면 연령 필드가 존재하지 않는다는 오류 메시지도 보고됩니다.

이렇게 쿼리할 때 쿼리 결과 집합에 is_adult를 추가할 수 있습니다.

    $user = User::first();
    $user->append('is_adult');

이게 끝이라고 생각하시나요? 뿐만 아니라 여러 사용자를 쿼리하는 경우 for 루프를 수행하고 추가해야 합니까? 아니요, 아니요, 우리의 우아한 Laravel이 우리를 위해 그것을 생각해냈습니다.

    $user = User::paginate(10);
    $user->each->append('is_adult');

query

     User::where(&#39;sex&#39;, &#39;girl&#39;)->where(&#39;age&#39;, &#39;<=&#39;, 20)->where(&#39;money&#39;, &#39;>&#39;, 1000000000000)->get();

이런 쿼리 자주 쓰시나요? 문제를 발견하셨나요? 부유한 로리타를 찾는 일은 꽤 드물기 때문에 아직 메시지를 받지는 못했습니다.

Laravel ORM의 멋진 작업을 알고 계시나요?

이걸 어떻게 참을 수 있겠습니까? 조금만 다시 쓰고 앞에 쿼리만 추가하면 쉽게 부자 로리타와 결혼하여 인생의 정점에 도달할 수 있습니다.

Laravel ORM의 멋진 작업을 알고 계시나요?

where

부자 로리타를 찾을 수 없다면 요구 사항을 낮추고 진지하게 여자 친구를 찾으십시오. 조금 어렵지만 그 사람의 아이디를 알면

User::query()->find(2);

를 이용해 바로 찾을 수 있어 쉽고 빠릅니다. 그럼 아이디는 모르고 이름만 알면 어떨까요? 어디에 조건을 쓰나요? 더 빠른 방법을 알려드리겠습니다. 빨리 여자친구를 찾으세요.

User::query()->firstWhere([&#39;name&#39; => &#39;乔碧萝&#39;]);

이 정도만 먼저 쓰고, 나중에 다른 좋은 실천법을 발견하면 업데이트 하겠습니다.

더 많은 laravel 프레임워크 기술 기사를 보려면 laravel튜토리얼을 방문하세요!

위 내용은 Laravel ORM의 멋진 작업을 알고 계시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제