首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方法Illuminate\Database\Schema\Blueprint::unsignedBidInteger不存在

方法Illuminate\Database\Schema\Blueprint::unsignedBidInteger不存在
EN

Stack Overflow用户
提问于 2022-07-17 06:31:03
回答 1查看 623关注 0票数 -3
代码语言:javascript
运行
复制
PS C:\xampp\htdocs\learning\laragon\lavue> php artisan migrate
Migrating: 2022_07_17_042348_create_transaction_details_table

   BadMethodCallException 

  Method Illuminate\Database\Schema\Blueprint::unsignedBidInteger does not exist.

  at C:\xampp\htdocs\learning\laragon\lavue\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php:113
    109▕      */
    110▕     public function __call($method, $parameters)
    111▕     {
    112▕         if (! static::hasMacro($method)) {
  ➜ 113▕             throw new BadMethodCallException(sprintf(
    114▕                 'Method %s::%s does not exist.', static::class, $method
    115▕             ));
    116▕         }
    117▕

  1   

终端误差

C:\xampp\htdocs\learning\laragon\lavue\database\migrations\2022_07_17_042348_create_transaction_details_table.php:18 Illuminate\Database\Schema\Blueprint::__call()

代码语言:javascript
运行
复制
  2   C:\xampp\htdocs\learning\laragon\lavue\vendor\laravel\framework\src\Illuminate\Database\Schema\Builder.php:256
      Illuminate\Database\Migrations\Migration@anonymous\C:\xampp\htdocs\learning\laragon\lavue\database\migrations\2022_07_17_042348_create_transaction_details_table.php:7$b5::{closure}()

这是我的php迁移

代码语言:javascript
运行
复制
    <?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('transaction_details', function (Blueprint $table) {
            $table->id();
            $table->unsignedBidInteger('transaction_id');
            $table->unsignedBigInteger('book_id');
            $table->integer('qty');
            $table->timestamps();

            $table->foreign('transaction_id')->references('id')->on('transactions');
            $table->foreign('book_id')->references('id')->on('books');

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
public function down()
{
    Schema::dropIfExists('transaction_details');
}

};

当我把php手工移植时,会看到上面这样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-17 07:19:22

在“transaction_id”声明的迁移文件中有一个错误。

您的迁移文件应该是这样的。用注释检查行。

代码语言:javascript
运行
复制
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('transaction_details', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('transaction_id'); // instead of $table->unsignedBidInteger('transaction_id')
            $table->unsignedBigInteger('book_id');
            $table->integer('qty');
            $table->timestamps();

            $table->foreign('transaction_id')->references('id')->on('transactions');
            $table->foreign('book_id')->references('id')->on('books');

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
public function down()
{
    Schema::dropIfExists('transaction_details');
}

请阅读

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73009661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档