내 Laravel 응용 프로그램에 다음 모델이 있습니다.
사용자, 비즈니스, 프로필, 구독.
사용자에게는 하나의 비즈니스가 있고 비즈니스는 하나의 프로필과 많은 구독을 갖습니다. 내 구독 컨트롤러에서Laravel : 각 쿼리에서 필터링하지 않고 사용자 레코드 만 반환하는 똑똑한 방법이 있습니까?
구독이 같은 것을 추가 내게 필요한 사용자 로그인 아래로 당겨하는 데 사용 내 방법의 많은 다음
Subscription::where('business_id', '=', Auth::user()->business->id)->active()->get();
하나 개의 쿼리에서이 문제가되지 않을 수 있지만, 내가 가진 비즈니스 구독 레코드를 가져오고 알기를 원하는 많은 방법은 비즈니스 레코드 만 가져 오는 더 똑똑한 방법이며 쿼리에 추가 범위를 추가하는 것입니다.
$subs = Auth::user()->business->subscriptions()->active()->get();
->subscriptions()
부분은 쿼리를 반환하고 당신이 그것을에 체인 추가 범위를 할 수 있습니다
사용자가 비즈니스가 하나 뿐인 이유는 가입 ID를 비즈니스 ID와 연결하는 이유는 무엇입니까? – adelineu
앞으로 여러 사용자에게 사업을 할당 할 수 있습니다. – Imran
예, 이해합니다. 그렇더라도 그것은 유스 케이스와 나머지 워크 플로우에 달려있다. 이러한 종류의 쿼리를 만드는 대신 관계를 사용해보십시오. https://laravel.com/docs/5.4/eloquent-relationships – adelineu