> php教程 > php手册 > 본문

Laravel 프레임워크의 희귀 메소드에 대한 자세한 설명

WBOY
풀어 주다: 2016-09-19 08:55:01
원래의
1142명이 탐색했습니다.

1.whereDate() 메소드

<span style="color: #008080;">1</span> <span style="color: #800080;">$q</span>->where('created_at', '>=', <span style="color: #008080;">date</span>('Y-m-d').' 00:00:00'));
로그인 후 복사

기존에는 데이터를 확인할 때 where 조건을 직접 사용하여 값을 비교했는데, 위 코드의 세 번째 매개변수가 다음을 추가하지 않고 date('Y-m-d')인 경우 형식에 대한 요구 사항이 엄격해집니다. 00:00 :00 이렇게 하면 데이터베이스에서 찾을 수 없습니다

그리고 동일한지 여부를 판단하는 데에도 형식에 대한 엄격한 요구 사항이 있습니다

<span style="color: #800080;">$q</span>->whereDate('created_at', '=', <span style="color: #008080;">date</span>('Y-m-d'));
로그인 후 복사

이제 laravel의 자체 메소드인 whereDate를 사용하세요. 이는 자동으로 날짜 형식을 처리하여 날짜가 검색 형식과 일치하는지 확인하는 데 도움이 됩니다.

<span style="color: #800080;">$q</span>->whereDay('created_at', '=', <span style="color: #008080;">date</span>('d'<span style="color: #000000;">));
</span><span style="color: #800080;">$q</span>->whereMonth('created_at', '=', <span style="color: #008080;">date</span>('m'<span style="color: #000000;">));
</span><span style="color: #800080;">$q</span>->whereYear('created_at', '=', <span style="color: #008080;">date</span>('Y'));
로그인 후 복사

예를 들어 위 코드는 일수가 특정 값일 때만 검색합니다. whereDay를 사용하면 특정 날짜에 일치하는 값을 데이터베이스에서 검색합니다.

2.wherePivot() 메소드

일반적으로 이 방식의 활동 장면은 모델에 있습니다

class Company extends \Eloquent{...
로그인 후 복사
<br> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> memberApplies()
  {
    </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>->belongsToMany('App\User', 'user_company_applies'<span style="color: #000000;">)
      </span>->wherePivot('apply_status', UserCompanyApply::<span style="color: #000000;">applyVerify)
      </span>->wherePivot('type', UserCompanyApply::<span style="color: #000000;">TYPE_USER);
  }</span>
로그인 후 복사

wherePivot이 무슨 뜻인가요? , 첫 번째는 다중 연결 관계를 설정하는 회사 및 사용자 테이블이며, 연결 테이블은 user_company_applies입니다

우선 wherePivot을 추가하지 않을 경우 표시 방법

데이터베이스는 다음과 같습니다

,

컨트롤러:

3개의 데이터를 표시합니다.

즉, 중간 테이블에서 company_id 1에 해당하는 user_id 데이터를 찾은 후 user_id 값을 user 테이블로 가져와서 어떤 데이터가 있는지 쿼리해 보면 바로 이 3가지 항목이 원래의 다대다입니다. -많은 과정

이제 wherePivot 메소드가 추가되면 판단 조건을 추가한 것에 불과합니다. 다대다 데이터를 얻은 후 중간 테이블에서 apply_status 및 type 필드를 찾아 어떤 데이터가 1인지 알아보세요. .있는 경우

가 표시됩니다.

이제 데이터베이스는 다음과 같습니다

두 값 모두 1입니다. user_id 2525로 데이터를 쿼리할 수 있는지 살펴보겠습니다

테스트 시작

알았어

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿