在 Facade.php 第 237 行:调用未定义的方法 Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()
Posted
技术标签:
【中文标题】在 Facade.php 第 237 行:调用未定义的方法 Illuminate\\Database\\Schema\\MySqlBuilder::defaultStringLenght()【英文标题】:In Facade.php line 237: Call to undefined method Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()在 Facade.php 第 237 行:调用未定义的方法 Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght() 【发布时间】:2019-09-28 20:51:25 【问题描述】:我正在尝试通过命令迁移 Laravel5.8 中的 mysql 表
$ php artisan migrate
我收到了这个错误
In Facade.php line 237:
Call to undefined method
Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()
我已经在 AppServiceProvider.php 文件中设置了
use Illuminate\Support\Facades\Schema;
defaultStringLenght(191); // boot() method
Schema::create('posts', function (Blueprint $table)
$table->increments('id');
$table->string('title');
$table->mediumText('body');
$table->timestamps();
);
【问题讨论】:
【参考方案1】:首先你需要正确调用方法并检查长度的拼写。
public function boot()
Schema::defaultStringLength(191);
而且你还需要导入 Schema Facade
use Illuminate\Support\Facades\Schema;
【讨论】:
感谢您的回答,也许我问错了……但我写道,我已经调用了公共函数 boot() 。当然,我正确调用了该方法,并且我也在同一个文件 AppServiceProvider.php 中导入了 Schema Facade。我不知道它有什么问题。 谢谢阿迪亚·塔库尔。我检查了代码 100x 并没有看到拼写错误。 @Bomir,错别字会让人头疼,你用什么IDE? IDE的likevscode可以轻松高亮此类错误,节省大量时间:) Aditya Thakur ,我正在用 PSPad 写东西,我想我会为 VisualStudio 改一下。【参考方案2】:在你需要使用的app\Providers\AppServiceProvider.php中
use Illuminate\Support\Facades\Schema;
然后在启动函数中你需要写 架构::defaultStringLength(191); 你的启动功能会是这样的
public function boot()
Schema::defaultStringLength(191);
【讨论】:
感谢您的回答,也许我问错了……但我写道,我已经调用了公共函数 boot() 。当然,我正确调用了该方法,并且我也在同一个文件 AppServiceProvider.php 中导入了 Schema Facade。我不知道它有什么问题。 亲爱的 Schema::defaultStringLength(191) 而不是 defaultStringLenght(191) 你写错了长度的咒语我希望现在不是显示任何错误。谢谢 非常感谢阿德南阿里以上是关于在 Facade.php 第 237 行:调用未定义的方法 Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()的主要内容,如果未能解决你的问题,请参考以下文章
Google 地球引擎代码中的“第 2 行:未定义 google”