代码之家  ›  专栏  ›  技术社区  ›  Viktor

如何从集合中创建模型?拉维尔5.5

  •  0
  • Viktor  · 技术社区  · 8 年前

    我有个工厂

    $factory->define(App\Models\Polygon::class, function (Faker $faker) {
        return [
            'id' => 1,
            'sort' => 2,
            'name' => 'МКАД',
            'center' => '55.73,37.75',
            'points' => '[55.8977029,37.6724091],[55.8966419,37.6752415],
            'parent_id' => 'N20N',
            'location_id' => 'N1N',
            'lat' => 55.73,
            'lon' => 37.75,
            'xml_id' => 'N1N'
        ];
    });
    

    但这个工厂返回集合,但我需要为我的测试制作模型。

    public function testGetRouteDistance()
    {
        $polygon = factory(Polygon::class, 1)->create();
    

    在Laravel中是否有任何方法允许您将集合转换为模型?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Elisha Senoo    8 年前

    默认情况下,Laravel返回一个模型,其中:

    public function testGetRouteDistance()
    {
        $polygon = factory(Polygon::class)->make();
    
        // Use model in tests...
    
    }
    

    当您提供如下第二个参数时,将返回一个集合:

    public function testGetRouteDistance()
    {
        $polygon = factory(Polygon::class, 3)->make();
    
        // Use model in tests...
    
    }