gpt4 book ai didi

laravel - 播种机内的函数调用未定义的函数 Termwind\ValueObjects\mb_strimwidth()

转载 作者:行者123 更新时间:2023-12-01 22:46:10 27 4
gpt4 key购买 nike

我有一个项目,其中有一个“习惯”表,该表需要一个播种机来为其提供数据,简单地说,它是一个带有原始数据的播种机,我需要对其进行 cooking ,换句话说,我需要像这样处理...

public function run()
{
$Habits = [
'🙂Good' => ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
'😐Neutral' => ['k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 't'],
'☹️Bad' => ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
];

foreach ($habits as $habit_category => $names) {
foreach ($names as $name) {
DB::table('habits')->insert([
'name' => $name,
'category' => $habit_category
]);
}
}
}

这是数据库播种机

public function run()
{
$this->call([
HabitsSeeder::class,
]);
}

我知道逻辑没有缺陷,但我不知道我是否做对了,但无论如何,给出的错误在标题中:

"Call to undefined function Termwind\ValueObjects\mb_strimwidth()"

最佳答案

错误消息可能与您的播种机无关。您正在使用 nunomaduro/termwind 包,它很可能在服务提供商内部被引用。

当您调用任何 artisan 命令(如 db:seed)时,这些服务提供者正在启动,其中的任何错误都会阻止播种器运行。

包调用 ValueObjects 命名空间内的 mb_strimwidth 的唯一地方是在这个文件中:

https://github.com/nunomaduro/termwind/blob/8ab0b32c8caa4a2e09700ea32925441385e4a5dc/src/ValueObjects/Styles.php#L1053

真正的根本问题是您缺少 mbstring PHP 扩展。因此,当 Termwind 包引用 mb_* 方法时,它无法在全局命名空间中找到该方法,而是检查包的命名空间,但也找不到它,并抛出错误。

看看the PHP docs了解如何在您的系统中安装 mbstring 包。

调试此类 future 问题的提示是查看整个错误消息堆栈跟踪,而不仅仅是最新消息。您将能够向后工作并查看调用此方法的位置以及触发它的原因。

关于laravel - 播种机内的函数调用未定义的函数 Termwind\ValueObjects\mb_strimwidth(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75391915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com