2016-08-24 5 views
1

Laravel 5.2에서 5.3으로 코드를 옮겼습니다. DatabaseSeeder를 실행할 때를 제외하고는 모두 정상적으로 작동합니다.Factory/Faker가 Laravel 5.3에서 작동하지 않습니다. DatabaseSeeder

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

모든 것이 제대로 설치 것 같다 : I는 파종기가 위조자를 사용하는 경우 php artisan db:seed 5.3 내가이 오류가 실행하려고하면이 지금 Laravel 5.2에서 완벽하게 작동했다.

코드 예제 : 마침내

<?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', 
      ]); 
     } 

    } 
} 

답변

0

내가 MySQL은 그것을 발견했다.

$gallery = Gallery::pluck('id')->All(); 
: list

pluck에 예를 변경해야