/** * @test */ public function shouldAliasTablesInNestedJoin() { //given $cars = Category::create(array('name' => 'cars')); $product = Product::create(array('name' => 'Reno', 'id_category' => $cars->getId())); OrderProduct::create(array('id_product' => $product->getId())); //when $orderProduct = OrderProduct::alias('op')->join('product->category', array('p', 'c'))->where('op.id_order is null')->where(array('p.name' => 'Reno', 'c.name' => 'cars'))->fetch(); //then $fetchedProduct = self::getNoLazy($orderProduct, 'product'); $this->assertEquals($product->getId(), $fetchedProduct->getId()); $this->assertEquals($cars, self::getNoLazy($fetchedProduct, 'category')); }