2

コードを Laravel 5.2 から 5.3 に移動しました。DatabaseSeeder を実行する場合を除いて、すべて正常に動作しています。これは Laravel 5.2 では完全に機能していましたがphp artisan db:seed、5.3 で実行しようとすると、シーダーが 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を見つけました。に変更listする必要がありますpluck

例:

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