2016-08-24 3 views
1

Я переместил свой код с Laravel 5.2 до 5.3, все работает отлично, за исключением случаев, когда я запускаю свой DatabaseSeeder. Это прекрасно работает в Laravel 5.2, теперь, когда я пытаюсь запустить php artisan db:seed в 5.3 я получаю эту ошибку, когда сеялка использует Faker: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. Нужно изменить list к pluck

Пример:

$gallery = Gallery::pluck('id')->All(); 
Смежные вопросы