2

我已将我的代码从 Laravel 5.2 移至 5.3,除了运行 DatabaseSeeder 外,一切正常。这在 Laravel 5.2 中运行良好,现在当我尝试php artisan db:seed在 5.3 中运行时,当 Seeder 使用 Faker 时出现此错误:

[BadMethodCallException] Call to undefined method Illuminate\Database\Query\Builder::lists()

一切似乎都安装正确。

代码示例:

<?php

use App\Models\Gallery;
use App\Models\GalleryImage;
use Illuminate\Database\Seeder;

class GalleryImageTableSeeder extends Seeder
{

    public function run()
    {
        DB::table('gallery_images')->delete();

        $faker = Faker\Factory::create();
        $gallery = Gallery::lists('id')->All();

        foreach(range(1, 98) as $index) {
            GalleryImage::create([
                'page_id' => null,
                'gallery_id' => $faker->randomElement($gallery),
                'alt' => 'Image description',
                'large' => '201508183828fh5ntu80ub-or.jpg',
                'medium' => '201508183828fh5ntu80ub-lg.jpg',
                'thumbnail' => '201508183828fh5ntu80ub-th.jpg',
                'order' => 1,
                'cover' => false,
                'visibility' => 'visible',
            ]);
        }

    }
}
4

1 回答 1

0

最后我发现了mysql。需要更改listpluck

例子:

$gallery = Gallery::pluck('id')->All();
于 2016-08-24T21:37:58.883 回答