|
<?php |
|
|
|
class WhereExistsRelatedClosureTest extends TestCase { |
|
|
|
public function testBelongsToMany() |
|
{ |
|
$users = User::whereExistsRelated('roles', 3)->get(); |
|
|
|
$this->assertEquals(count($users), 1); |
|
|
|
$users_2 = User::whereExistsRelated('roles', function ($query, $pivot) |
|
{ |
|
$query->where('roles.id', '>', 1); |
|
})->get(); |
|
|
|
$this->assertEquals(count($users_2), 2); |
|
} |
|
|
|
public function testBelongsTo() |
|
{ |
|
$users = User::whereExistsRelated('group', 2)->get(); |
|
|
|
$this->assertEquals(count($users), 2); |
|
|
|
$users_2 = User::whereExistsRelated('group', function ($query, $pivot) |
|
{ |
|
$query->where('groups.id', '=', 1); |
|
})->get(); |
|
|
|
$this->assertEquals(count($users_2), 1); |
|
} |
|
|
|
public function testHasOne() |
|
{ |
|
$users = User::whereExistsRelated('userMeta', function ($query) |
|
{ |
|
$query->where('name', '=', 'Joe'); |
|
})->get(); |
|
|
|
$this->assertEquals(count($users), 1); |
|
} |
|
|
|
public function testHasMany() |
|
{ |
|
$users = Group::whereExistsRelated('users', function ($query) |
|
{ |
|
$query->where('username', '=', 'joesoap2'); |
|
})->get(); |
|
|
|
$this->assertEquals(count($users), 1); |
|
} |
|
|
|
|
|
} |
|
|
|
class WhereExistsRelatedTest extends TestCase { |
|
|
|
public function testBelongsToMany() |
|
{ |
|
$users = User2::whereExistsRelated('roles')->get(); |
|
|
|
$this->assertEquals(count($users), 3); |
|
} |
|
|
|
public function testBelongsTo() |
|
{ |
|
$users = User2::whereExistsRelated('group')->get(); |
|
|
|
$this->assertEquals(count($users), 3); |
|
} |
|
|
|
public function testHasOne() |
|
{ |
|
$users = User2::whereExistsRelated('userMeta')->get(); |
|
|
|
$this->assertEquals(count($users), 2); |
|
} |
|
|
|
public function testHasMany() |
|
{ |
|
$groups = Group2::whereExistsRelated('users')->get(); |
|
|
|
$this->assertEquals(count($groups), 2); |
|
} |
|
|
|
} |