다음 튜토리얼 칼럼인 Getting Started with Laravel에서는 여러분이 모르는 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('sex', 'girl')->where('age', '<=', 20)->where('money', '>', 1000000000000)->get();
이런 쿼리 자주 쓰시나요? 문제를 발견하셨나요? 부유한 로리타를 찾는 일은 꽤 드물기 때문에 아직 메시지를 받지는 못했습니다.
이걸 어떻게 참을 수 있겠습니까? 조금만 다시 쓰고 앞에 쿼리만 추가하면 쉽게 부자 로리타와 결혼하여 인생의 정점에 도달할 수 있습니다.
where
부자 로리타를 찾을 수 없다면 요구 사항을 낮추고 진지하게 여자 친구를 찾으십시오. 조금 어렵지만 그 사람의 아이디를 알면
User::query()->find(2);
를 이용해 바로 찾을 수 있어 쉽고 빠릅니다. 그럼 아이디는 모르고 이름만 알면 어떨까요? 어디에 조건을 쓰나요? 더 빠른 방법을 알려드리겠습니다. 빨리 여자친구를 찾으세요.
User::query()->firstWhere(['name' => '乔碧萝']);
이 정도만 먼저 쓰고, 나중에 다른 좋은 실천법을 발견하면 업데이트 하겠습니다.
더 많은 laravel 프레임워크 기술 기사를 보려면 laravel튜토리얼을 방문하세요!
위 내용은 Laravel ORM의 멋진 작업을 알고 계시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!