2016-11-08 91 views
1

与骗子种子数据库时具体地说该错误仅发生这种情况种子阵列到字符串转换试图laravel 5.3

[Illuminate\Database\QueryException]                 
    Array to string conversion (SQL: insert into `profiles` (`agency_id`, `name`, `bio`, `age`, `hair_ty 
    pe`, `updated_at`, `created_at`) values (1, Cathy, Placeat voluptas tenetur corrupti et., 44, short, 
    2016-11-08 15:09:00, 2016-11-08 15:09:00)) 

    [ErrorException]    
    Array to string conversion 

是否有任何属性我需要添加以使其工作,SQL清楚地显示查询异常中随机生成的值,laravel日志中没有任何内容。

播种机:

namespace App; 

use App\Profile; 

use Illuminate\Database\Seeder; 

class ProfileTableSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 

     $faker = \Faker\Factory::create(); 

     foreach(range(1,50) as $index) 
     { 
      Profile::create([ 
       'agency_id'   => '1', 
       'name'    => $faker->firstName($gender = 'female'), 
       'bio'    => $faker->sentence(4), 
       'age'    => $faker->numberBetween($min=19, $max=46), 
       'hair_type'   => $faker->randomElements($array = array('long','short','shoulder length')) 
     ]); 
    } 
    } 
} 
+0

你试过'$ faker-> randomElement()'而不是?我不确定,但我认为'randomElements()'需要**数组**(_ $ count_)之后的第二个参数。 – Mihailo

回答

1

@Mihailo - 由于有时你看不到的期待。

有两种定义:

$faker->randomElements($array = array('a','b','c'), $count = 1) //array('c') 
$faker->randomElement($array = array('a','b','c')) //b 

我用的是前者,并期待从后者的结果。

谢谢

+0

不是问题,很高兴我能帮上忙。 – Mihailo