2
조인 또는 하위 쿼리를 사용하여 둘 이상의 모델간에 Laravel의 로컬 범위를 사용할 수 있는지 알고 싶었습니까?Laravel 5.2 지역 범위가있는 웅변 쿼리
예를 들어이 범위는 활성 인 사용자 모델입니다.
class User extends Model
{
public function scopeActive($query)
{
return $query->where('active', 1);
}
}
기타 모델은 범위가있는 UserSubscription입니다.
class UserSubscription extends Model
{
public function scopeType($query, $type)
{
return $query->where('type', $type);
}
}
단일 쿼리에서 두 범위를 모두 사용하는 방법은 무엇입니까? 다음 진술은 효과가 없습니다.
$users = Users::active()
->join('UserSubscription', 'users.id', '=','UserSubscription.user_id')
->UserSubscription::type()
->get();
저는 Laravel 5.2를 사용하고 있습니다. https://laravel.com/docs/5.3/eloquent#local-scopes
, 내가 때문에 성능 문제의 Laravel 모델 관계를 사용하지 않습니다. 또한, 나는 지역 범위를 활용하고 싶다. 즉 $ users = Users :: active() -> join ('user_subscriptions', 'users.id', '=', 'user_subscriptions.user_id') -> UserSubscription :: type() -> get(); @ lewis4u –
그러나 내가 아는 범위는 웅변에 근거합니다. 그리고 당신이 웅변적인 성능 문제를 가진 예제 또는 링크를 게시 할 수 있는지 알고 싶습니다. – lewis4u