我想通过迁移在我的数据库中创建一组表。因此,对于其中一个表格,我有这一行:
<link href="https://use.fontawesome.com/releases/v5.0.4/css/all.css" rel="stylesheet">
<div>
<input type="checkbox" checked>
<br/>
<input type="checkbox" checked>
<br/>
<input type="checkbox" checked>
</div>
并且似乎此行存在问题,因为我在输入$table->year('year')->nullable(false);
...
命令后收到以下错误消息:
[BadMethodCallException] 方法年不存在。
我没有输入拼写错误,尝试了不同的列名,没有使用php artisan migrate:fresh
。我的数据库(10.1.28-MariaDB)中提供了nullable(false)
类型。
有问题的行就像创建表的闭包内的其他行一样。
我在互联网上遇到过很多类似的主题,但它们涉及其他方法(通常是自定义用户&#39;方法,而不是Laravel内置的方法),在这些情况下,人们试图在他们的控制器/模型中调用方法基本上他们混淆/错过了对象,这不是这里的情况。 Laravel 5.5.22,localhost,Windows。那么,如何解决这个问题并使迁移创建表?
答案 0 :(得分:2)
因此,year type
未列在API Docs for 5.5 for Mysql Grammar Type
但是,github存储库显示它已添加in this commit here
在this hash上,您可以看到泰勒修复了与typeYear
方法有关的一些问题。
所以我的结论是您必须手动使用illuminate/database
和5.7-dev
。由于laravel/framework
中列出的当前版本为self.version
。解析为5.5-dev
但typeYear
中没有MysqlGrammar
方法的5.7-dev
,但data2= '{ "fromID" 1 "toID" 2 "value" [ 20 18] } { "fromID" 1 "toID" 3 "value" [ 12 12] } ';
out = str2double(regexp(data2, '\d+', 'match'));
会这样做。