2016-08-24 136 views
1

我已经将我的代码从Laravel 5.2移至5.3,除了运行我的DatabaseSeeder时,一切正常。这在Laravel 5.2完美的工作,现在当我尝试运行php artisan db:seed 5.3当播种机使用法克尔我得到这个错误:Factory/Faker不工作在Laravel 5.3 DatabaseSeeder

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

    } 
} 

回答

0

最后我找到了它的MySQL。需要改变listpluck

实施例:

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