Laravel 5.0 [PDOException] SQLSTATE [HY000]:常规错误:1215无法添加外键约束

爱德华·波兰斯(Edward Poles)

下午好。我的控制台上有一个小问题,它在laravel 5.0中创建了与两个表的关系。

这是我的产品迁移表:

<?php

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

class CreateProductsTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products', function(Blueprint $table)
        {
            $table->increments('id');
            $table->string('name', 255);
            $table->string('slug');
            $table->text('description');
            $table->string('extract', 300);
            $table->decimal('price', 8, 2);
            $table->string('quantity', 300);
            $table->string('image', 300);       
            $table->boolean('visible');
            $table->integer('category_id')->unsigned();
            $table->foreign('category_id')
                  ->references('id')
                  ->on('categories');
            $table->integer('brand_id')->unsigned();
            $table->foreign('brand_id')
                  ->references('id')
                  ->on('brands');
            $table->timestamps();
        });
    }

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

}

我的产品型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    protected $table = 'products';

    protected $fillable = ['name', 'slug', 'description', 'extract', 'price', 'quantity', 'image', 'visible', 'category_id', 'brand_id'];


    // Relation with Category
    public function category()
    {
        return $this->belongsTo('App\Category');
    }

    // Relation with Brand
    public function brand()
    {
        return $this->belongsTo('App\Brand');
    }

    /*public function upload()
    {
        return $this->hasOne('App\Upload');
    }*/

    //Query para buscador
    public function scopeName($query, $name)
    {
        //dd("scope: " . $name);
        $query->where(\DB::raw("CONCAT(name, '', description, '', price, '', quantity)"), "LIKE", "%$name%");
    }
}

我的类别模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $table = 'categories';

    protected $fillable = ['name'];

    public $timestamps = false;

    //Query para buscador
    public function scopeName($query, $name)
    {
        //dd("scope: " . $name);
        $query->where(\DB::raw("CONCAT(name)"), "LIKE", "%$name%");
    }
}

我的品牌模型:

<?php 

namespace App;

use Illuminate\Database\Eloquent\Model;

class Brand extends Model
{
    protected $table = 'brands';

    protected $fillable = ['name'];

    public $timestamps = false;

    public function products()
    {
        return $this->hasMany('App\Product');
    }

    //Query para buscador
    public function scopeName($query, $name)
    {
        //dd("scope: " . $name);
        $query->where(\DB::raw("CONCAT(name)"), "LIKE", "%$name%");
    }
}

当我运行迁移时,会生成以下错误消息:

Migration table created successfully.



  [Illuminate\Database\QueryException]
  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
  : alter table `products` add constraint products_brand_id_foreign foreign k
  ey (`brand_id`) references `brands` (`id`))






  [PDOException]
  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

有人可以帮助我吗?

爱德华·波兰斯(Edward Poles)

感谢您的合作,请通过以下方式解决问题:

艾瑟格·希尔米·埃德姆·克伦

问题是要进行迁移的表的顺序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:SQLSTATE [HY000]:常规错误:1215无法在Phalcon中添加外键约束

来自分类Dev

Laravel 5 [PDOException] SQLSTATE [42000]:语法错误或访问冲突:

来自分类Dev

Laravel PDOException SQLSTATE [HY000] [1049]未知数据库'forge'

来自分类Dev

Laravel PDOException SQLSTATE [HY000] [1049]未知数据库'forge'

来自分类Dev

Laravel 4和宝塔:[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录

来自分类Dev

SQLSTATE[HY000] Laravel 中的错误:添加外键失败

来自分类Dev

SQLSTATE [HY000]:常规错误:Laravel发生2053错误

来自分类Dev

PDOException:SQLSTATE [HY093]

来自分类Dev

SQLSTATE [HY000]:常规错误:1005无法创建表-Laravel 4

来自分类Dev

SQLSTATE [HY000] [2002]连接被拒绝-原因:PDOException

来自分类Dev

MySql php pdo存储过程PDOException:SQLSTATE [HY000]

来自分类Dev

Laravel 5错误SQLSTATE [HY000] [1045]用户'homestead'@'localhost'的访问被拒绝(使用密码:是)

来自分类Dev

通用错误1215:无法为Laravel 5添加外键约束

来自分类Dev

消息为“ SQLSTATE [HY093]”的“ PDOException”

来自分类Dev

未捕获的 PDOException: SQLSTATE[HY093]

来自分类Dev

数据库错误 PDOException 错误:SQLSTATE[HY000] [1045]

来自分类Dev

Xampp Linux:PDOException:SQLSTATE [HY000] [2002]在lock_may_be_available()错误中拒绝连接

来自分类Dev

PHP致命错误:消息为'SQLSTATE [HY000] [2002]的未捕获的异常'PDOException'

来自分类Dev

SQLSTATE [HY000]:常规错误:1个表标签没有名为0的列

来自分类Dev

消息为“ SQLSTATE [](空)(严重性0)”的PDOException

来自分类Dev

消息为“ SQLSTATE [](空)(严重性0)”的PDOException

来自分类Dev

Laravel 5.7 SQLSTATE[HY000] [2002] 无法建立连接

来自分类Dev

Laravel 5:SQLSTATE [23000]:违反完整性约束,外键约束失败

来自分类Dev

PDOException(1044)SQLSTATE [HY000] [1044]用户'@'localhost'对数据库'forge'的访问被拒绝

来自分类Dev

PDOException SQLSTATE [HY000] [1049]未知数据库'forge'失败

来自分类Dev

PDOException SQLSTATE [HY000] [1049]未知数据库'forge'失败

来自分类Dev

Symfony 2:[PDOException] SQLSTATE [HY000] [2002]连接被拒绝的实体生成器

来自分类Dev

PHP PDOException:SQLSTATE [HY000] [2019]无法初始化字符集utf8mb4

来自分类Dev

PDOException:SQLSTATE [HY000] [2003]无法连接到'aaa.zzz.yyy.xxx'上的MySQL服务器(13)

Related 相关文章

  1. 1

    错误:SQLSTATE [HY000]:常规错误:1215无法在Phalcon中添加外键约束

  2. 2

    Laravel 5 [PDOException] SQLSTATE [42000]:语法错误或访问冲突:

  3. 3

    Laravel PDOException SQLSTATE [HY000] [1049]未知数据库'forge'

  4. 4

    Laravel PDOException SQLSTATE [HY000] [1049]未知数据库'forge'

  5. 5

    Laravel 4和宝塔:[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录

  6. 6

    SQLSTATE[HY000] Laravel 中的错误:添加外键失败

  7. 7

    SQLSTATE [HY000]:常规错误:Laravel发生2053错误

  8. 8

    PDOException:SQLSTATE [HY093]

  9. 9

    SQLSTATE [HY000]:常规错误:1005无法创建表-Laravel 4

  10. 10

    SQLSTATE [HY000] [2002]连接被拒绝-原因:PDOException

  11. 11

    MySql php pdo存储过程PDOException:SQLSTATE [HY000]

  12. 12

    Laravel 5错误SQLSTATE [HY000] [1045]用户'homestead'@'localhost'的访问被拒绝(使用密码:是)

  13. 13

    通用错误1215:无法为Laravel 5添加外键约束

  14. 14

    消息为“ SQLSTATE [HY093]”的“ PDOException”

  15. 15

    未捕获的 PDOException: SQLSTATE[HY093]

  16. 16

    数据库错误 PDOException 错误:SQLSTATE[HY000] [1045]

  17. 17

    Xampp Linux:PDOException:SQLSTATE [HY000] [2002]在lock_may_be_available()错误中拒绝连接

  18. 18

    PHP致命错误:消息为'SQLSTATE [HY000] [2002]的未捕获的异常'PDOException'

  19. 19

    SQLSTATE [HY000]:常规错误:1个表标签没有名为0的列

  20. 20

    消息为“ SQLSTATE [](空)(严重性0)”的PDOException

  21. 21

    消息为“ SQLSTATE [](空)(严重性0)”的PDOException

  22. 22

    Laravel 5.7 SQLSTATE[HY000] [2002] 无法建立连接

  23. 23

    Laravel 5:SQLSTATE [23000]:违反完整性约束,外键约束失败

  24. 24

    PDOException(1044)SQLSTATE [HY000] [1044]用户'@'localhost'对数据库'forge'的访问被拒绝

  25. 25

    PDOException SQLSTATE [HY000] [1049]未知数据库'forge'失败

  26. 26

    PDOException SQLSTATE [HY000] [1049]未知数据库'forge'失败

  27. 27

    Symfony 2:[PDOException] SQLSTATE [HY000] [2002]连接被拒绝的实体生成器

  28. 28

    PHP PDOException:SQLSTATE [HY000] [2019]无法初始化字符集utf8mb4

  29. 29

    PDOException:SQLSTATE [HY000] [2003]无法连接到'aaa.zzz.yyy.xxx'上的MySQL服务器(13)

热门标签

归档