Laravel 2 个 BadMethodCallException 实例:'int does not exist' 和 'method does not exist'
Laravel 2 instances of BadMethodCallException: 'int does not exist' and 'method does not exist'
我目前正在通过终端在 Laravel 中进行迁移,在尝试使用 php artisan migrate
时遇到这两个错误;我将在下面打印错误:
BadMethodCallException : Method Illuminate\Database\Schema\Blueprint::int does not exist.
at /Users/shaquilenoor/Desktop/chatapi/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:100
96| */
97| public function __call($method, $parameters)
98| {
99| if (! static::hasMacro($method)) {
> 100| throw new BadMethodCallException(sprintf(
101| 'Method %s::%s does not exist.', static::class, $method
102| ));
103| }
104|
Exception trace:
1 Illuminate\Database\Schema\Blueprint::__call("int")
/Users/shaquilenoor/Desktop/chatapi/database/migrations/2019_01_29_045824_create_contacts_table.php:15
2 CreateContactsTable::{closure}(Object(Illuminate\Database\Schema\Blueprint))
/Users/shaquilenoor/Desktop/chatapi/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php:164
这两个错误似乎都源于我的 CreateContactsTable,因此我将在下面打印该文件中的代码:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateContactsTable extends Migration
{
public function up()
{
Schema::create('contacts', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user1_id');
$table->unsignedInteger('user2_id');
$table->int('room_id')->unique();
$table->timestamps();
$table->foreign('room_id')->references('id')->on('rooms');
$table->foreign('user1_id')->references('id')->on('users');
$table->foreign('user2_id')->references('id')->on('users');
});
}
public function down()
{
Schema::dropIfExists('contacts');
}
}
行中有错误:
$table->int('room_id')->unique();
没有int
方法。您应该使用 integer
代替:
$table->integer('room_id')->unique();
将$table->int
更改为$table->integer
,因为int
方法不存在
我目前正在通过终端在 Laravel 中进行迁移,在尝试使用 php artisan migrate
时遇到这两个错误;我将在下面打印错误:
BadMethodCallException : Method Illuminate\Database\Schema\Blueprint::int does not exist.
at /Users/shaquilenoor/Desktop/chatapi/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:100
96| */
97| public function __call($method, $parameters)
98| {
99| if (! static::hasMacro($method)) {
> 100| throw new BadMethodCallException(sprintf(
101| 'Method %s::%s does not exist.', static::class, $method
102| ));
103| }
104|
Exception trace:
1 Illuminate\Database\Schema\Blueprint::__call("int")
/Users/shaquilenoor/Desktop/chatapi/database/migrations/2019_01_29_045824_create_contacts_table.php:15
2 CreateContactsTable::{closure}(Object(Illuminate\Database\Schema\Blueprint))
/Users/shaquilenoor/Desktop/chatapi/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php:164
这两个错误似乎都源于我的 CreateContactsTable,因此我将在下面打印该文件中的代码:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateContactsTable extends Migration
{
public function up()
{
Schema::create('contacts', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user1_id');
$table->unsignedInteger('user2_id');
$table->int('room_id')->unique();
$table->timestamps();
$table->foreign('room_id')->references('id')->on('rooms');
$table->foreign('user1_id')->references('id')->on('users');
$table->foreign('user2_id')->references('id')->on('users');
});
}
public function down()
{
Schema::dropIfExists('contacts');
}
}
行中有错误:
$table->int('room_id')->unique();
没有int
方法。您应该使用 integer
代替:
$table->integer('room_id')->unique();
将$table->int
更改为$table->integer
,因为int
方法不存在