为了账号安全,请及时绑定邮箱和手机立即绑定

ErrorException : implode(): 在不推荐使用数组后传递胶水字符串。交换参数

ErrorException : implode(): 在不推荐使用数组后传递胶水字符串。交换参数

PHP
倚天杖 2022-07-09 10:34:49
我正在运行 Laravel 5.8 并在播种时收到此错误Seeding: CategoriesTableSeederErrorException : implode(): 在不推荐使用数组后传递胶水字符串。交换参数在 /Users/saly/Sites/Saly/vendor/fzaninotto/faker/src/Faker/Provider/Lorem.php:9591|92|         $words = static::words($nbWords);93|         $words[0] = ucwords($words[0]);94|95|         return implode($words, ' ') . '.';96|     }97|98|     /**99|      * Generate an array of sentences  Exception trace:  1   implode(" ")      /Users/saly/Sites/Saly/vendor/fzaninotto/faker/src/Faker/Provider/Lorem.php:95  2   Faker\Provider\Lorem::sentence()      /Users/saly/Sites/Saly/vendor/fzaninotto/faker/src/Faker/Generator.php:222>  Please use the argument -v to see more details.该应用程序使用 PHP 7.3 和 7.2 在 CI 中通过测试很好,所以问题可能是我的本地机器“OSX”中的 PHP 7.4这是我的种子文件<?phpuse Saly\Category;use Illuminate\Database\Seeder;class CategoriesTableSeeder extends Seeder{    /**     * Run the database seeds.     *     * @return void     */    public function run()    {        factory(Category::class, 3)->create();    }}还有工厂<?phpuse Saly\Category;use Faker\Generator as Faker;$factory->define(Category::class, function (Faker $faker) {    $name = $faker->sentence(4, true); // Here maybe?    return [        'name' => $name,        'slug' => sluggify($name),    ];});我认为问题出在sentence()使用的那一行,但我不知道如何解决它,因为我只是从 Faker 文档中复制了该行这个错误是什么意思,我该如何解决?
查看完整描述

4 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这已经在最新版本的 Faker 中得到修复。在你的错误中它说

> 95| return implode($words, ' ') . '.';

但是如果我们查看源代码的第 95 行,我们会看到:

> 95| return implode(' ', $words) . '.';

所以,你需要做的就是拉取最新版本的 Faker,可能通过这样做

composer update fzaninotto/faker


查看完整回答
反对 回复 2022-07-09
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您可以交换(使用命令影响行implode)胶水和数组。

例子:

return implode($words,' ') . '.';

return implode(' ',$words) . '.';

此外,最新版本的fzaninotto/faker软件包解决了这个问题。


查看完整回答
反对 回复 2022-07-09
?
aluckdog

TA贡献1847条经验 获得超7个赞

我正在使用 php 7.4 和 apache2,mariadb 10,yii2 高级。使用以下命令更新您的伪造者

composer update fzaninotto/faker

sudo service apache2 reload

然后它:这个错误和

错误(#32)

发生内部服务器错误。

上述错误发生在 Web 服务器正在处理您的请求时。

如果您认为这是服务器错误,请与我们联系。谢谢你。

修复问题。


查看完整回答
反对 回复 2022-07-09
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

这发生在fzaninotto/faker的落后版本中。使用以下命令更新您的伪造者

composer update fzaninotto/faker


查看完整回答
反对 回复 2022-07-09
  • 4 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号