Beispiel #1
0
 public function testCreateWithOneToMany()
 {
     $this->loadFixtures(['Series', 'Books']);
     $series = new Series();
     $series->name = 'A Series Of Unfortunate Events';
     $series->linkMany([new Book(['name' => 'The Bad Beginning']), new Book(['name' => 'The Reptile Room']), new Book(['name' => 'The Wide Window']), new Book(['name' => 'The Miserable Mill']), new Book(['name' => 'The Austere Academy']), new Book(['name' => 'The Ersatz Elevator']), new Book(['name' => 'The Vile Village'])]);
     $this->assertEquals(4, $series->save(['validate' => false]));
     $this->assertEquals(new Series(['id' => 4, 'author_id' => 0, 'name' => 'A Series Of Unfortunate Events', 'Books' => new ModelCollection([new Book(['id' => 16, 'series_id' => 4, 'name' => 'The Bad Beginning', 'isbn' => '', 'released' => '']), new Book(['id' => 17, 'series_id' => 4, 'name' => 'The Reptile Room', 'isbn' => '', 'released' => '']), new Book(['id' => 18, 'series_id' => 4, 'name' => 'The Wide Window', 'isbn' => '', 'released' => '']), new Book(['id' => 19, 'series_id' => 4, 'name' => 'The Miserable Mill', 'isbn' => '', 'released' => '']), new Book(['id' => 20, 'series_id' => 4, 'name' => 'The Austere Academy', 'isbn' => '', 'released' => '']), new Book(['id' => 21, 'series_id' => 4, 'name' => 'The Ersatz Elevator', 'isbn' => '', 'released' => '']), new Book(['id' => 22, 'series_id' => 4, 'name' => 'The Vile Village', 'isbn' => '', 'released' => ''])])]), Series::select()->with('Books')->where('id', 4)->first());
     // Save more
     $series->linkMany([new Book(['name' => 'The Hostile Hospital']), new Book(['name' => 'The Carnivorous Carnival']), new Book(['name' => 'The Slippery Slope']), new Book(['name' => 'The Grim Grotto']), new Book(['name' => 'The Penultimate Peril']), new Book(['name' => 'The End'])]);
     $this->assertEquals(4, $series->save(['validate' => false]));
     $this->assertEquals(new Series(['id' => 4, 'author_id' => 0, 'name' => 'A Series Of Unfortunate Events', 'Books' => new ModelCollection([new Book(['id' => 16, 'series_id' => 4, 'name' => 'The Bad Beginning', 'isbn' => '', 'released' => '']), new Book(['id' => 17, 'series_id' => 4, 'name' => 'The Reptile Room', 'isbn' => '', 'released' => '']), new Book(['id' => 18, 'series_id' => 4, 'name' => 'The Wide Window', 'isbn' => '', 'released' => '']), new Book(['id' => 19, 'series_id' => 4, 'name' => 'The Miserable Mill', 'isbn' => '', 'released' => '']), new Book(['id' => 20, 'series_id' => 4, 'name' => 'The Austere Academy', 'isbn' => '', 'released' => '']), new Book(['id' => 21, 'series_id' => 4, 'name' => 'The Ersatz Elevator', 'isbn' => '', 'released' => '']), new Book(['id' => 22, 'series_id' => 4, 'name' => 'The Vile Village', 'isbn' => '', 'released' => '']), new Book(['id' => 23, 'series_id' => 4, 'name' => 'The Hostile Hospital', 'isbn' => '', 'released' => '']), new Book(['id' => 24, 'series_id' => 4, 'name' => 'The Carnivorous Carnival', 'isbn' => '', 'released' => '']), new Book(['id' => 25, 'series_id' => 4, 'name' => 'The Slippery Slope', 'isbn' => '', 'released' => '']), new Book(['id' => 26, 'series_id' => 4, 'name' => 'The Grim Grotto', 'isbn' => '', 'released' => '']), new Book(['id' => 27, 'series_id' => 4, 'name' => 'The Penultimate Peril', 'isbn' => '', 'released' => '']), new Book(['id' => 28, 'series_id' => 4, 'name' => 'The End', 'isbn' => '', 'released' => ''])])]), Series::select()->with('Books')->where('id', 4)->first());
 }