【问题标题】:Laravel: error while seeding the database (Array to string conversion)Laravel:播种数据库时出错(数组到字符串的转换)
【发布时间】:2017-05-28 03:29:50
【问题描述】:

我正在尝试为数据库播种。按照用户示例,我创建了一个 Emploi (Job) 播种器,但出现错误。

种子文件

$factory->define(App\Emploi::class, function (Faker\Generator $faker) {

    return [
        'JOBURL' => $faker->name,
        'SALARYMAX' => '$50,000',
        'SALARYMIN' => '$40,000',
        'SALARYTYPE' => 'annual',
        'NAME' => $faker->words(5),
        'POSITION' => $faker->words(4),
        'JOBREF' => str_random(10),
        'JOB_SUMMARY' => $faker->text,
        'tweeted' => false,
        'POSTDATE' => $faker->dateTime(),
        'EXPIRYDATE' => $faker->dateTime(),
        'slug' => str_random(10),
    ];
});

异常

[ErrorException]
  Array to string conversion

输出

 [Illuminate\Database\QueryException]
  Array to string conversion 
  (SQL: insert into `emplois` 

  (`JOBURL`, `SALARYMAX`, 
  `SALARYMIN`, `SALARYTYPE`, `NAME`, `POSITION`, 
  `JOBREF`, 
  `JOB_SUMMARY`, 
  `tweeted`, `
  POSTDATE`, `EXPIRYDATE`, `slug`, 
  `updated_at`, `created_at`) 
  values 
  (Lawson Boyer II, $50,000,
  $40,000, annual, rerum, voluptates, 
  LCw8d67S8w, 
  Nulla qui corporis sequi. 
  Eum nostrum culpa ut culpa velit. 
  Molestiae cumque doloremque et ex., 
  0, 
  1972-11-09 12:00:07, 1997-10-04 09:08:17, 6FxxCHFus6,
  2017-05-28 03:18:52, 2017-05-2  8 03:18:52)

  )

数据库播种器

factory(App\Emploi::class, 50)->create();

【问题讨论】:

  • 检查$faker->words()的输出。
  • @WesleyPeeters 谢谢我有那个数组('leri','rednar','pratpu')。你可以发布一个答案,以便我可以投票给你的答案
  • 你去!祝你有美好的一天!

标签: php laravel laravel-5 laravel-5.4 laravel-seeding


【解决方案1】:

Faker 库有一些方法会返回 array 而不是 string。 laravel 在这里期望的是一个字符串。因此,您可以使用 PHP 的 implode 函数创建一个字符串,或者将整个 $faker->words() 方法替换为 $faker->sentence()。这是方法签名:

sentence($nbWords = 6, $variableNbWords = true)

干杯!

【讨论】:

  • 也感谢您提及 API!祝你有美好的一天!
【解决方案2】:

尝试使用 implode('',$faker->words(5)) 而不是 $faker->words(5),因为 laravel 期望您的值是数字或字符串类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2017-03-22
    • 2021-07-05
    • 1970-01-01
    • 2014-01-07
    • 2019-05-01
    • 2022-01-25
    相关资源
    最近更新 更多