/** * Tests reusing Model relation * * @issue 11991 * @author Serghei Iakovlev <*****@*****.**> * @since 2016-08-03 */ public function testReusableRelation() { $this->specify('Reusing relations does not work correctly', function () { $customers = Customers::find(['document_id = :did: AND status = :status: AND customer_id <> :did:', 'bind' => ['did' => 1, 'status' => 'A']]); expect($customers)->isInstanceOf(Simple::class); expect(count($customers))->equals(2); expect($customers[0]->user)->isInstanceOf(Users::class); expect($customers[0]->user)->isInstanceOf(Users::class); expect($customers[0]->user)->isInstanceOf(Users::class); expect($customers[1]->user)->isInstanceOf(Users::class); expect($customers[1]->user)->isInstanceOf(Users::class); expect($customers[1]->user)->isInstanceOf(Users::class); expect($customers->getFirst())->isInstanceOf(Customers::class); expect($customers[1]->user->name)->equals('Nikolaos Dimopoulos'); expect($customers[1]->user->name)->equals('Nikolaos Dimopoulos'); expect($customers[1]->user->name)->equals('Nikolaos Dimopoulos'); expect($customers->getFirst()->user->name)->equals('Nikolaos Dimopoulos'); expect($customers->getFirst()->user->name)->equals('Nikolaos Dimopoulos'); expect($customers->getFirst()->user->name)->equals('Nikolaos Dimopoulos'); expect($customers[0]->user->name)->equals('Nikolaos Dimopoulos'); expect($customers[0]->user->name)->equals('Nikolaos Dimopoulos'); expect($customers[0]->user->name)->equals('Nikolaos Dimopoulos'); }); }