Laravel 8 - 外键约束的形成不正确

2023-12-12

我不知道出了什么问题,因为我对此很陌生。

// Product Model
class Product extends Model
{
    use HasFactory;

    public function store()
    {
        return $this->belongsTo(Store::class);
    }
}

// Store Model
class Store extends Model
{
    use HasFactory;

    public function products()
    {
        return $this->hasMany(Product::class);
    }
}

// Products table migration
Schema::create('products', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->float('price');
    $table->string('description');
    $table->timestamps();
    $table->foreignId('store_id')->constrained()->onDelete('cascade');
});

// Stores table migration
Schema::create('stores', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('image_url');
    $table->string('phone');
    $table->timestamps();
});

When I run the migration, it gives me this error The error

我尝试更改“id”的数据类型,但仍然不起作用。我也尝试过

$table->foreign('store_id')->references('id')->on('stores')->onDelete('cascade');

但仍然不工作。

我想要的是一种关系,以便当我删除商店时,属于该商店的所有产品也会被删除。

Thanks ????


将商店迁移文件的名称更改为 2021-07-28 之前的日期,以便表stores在表之前迁移products

例子:2021_07_27_004700_create_stores_table

Laravel 使用迁移文件的名称来确定迁移顺序。以日期格式作为文件名的开头,取决于文件的创建日期。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 8 - 外键约束的形成不正确 的相关文章

  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • 如何在 vue.js 中使用 SVG.js 插件?

    我在用svg js在我的 Laravel 项目中运行vue js 这就是我使用的方式svg js Step 1 安装svg js作为我的 vue 应用程序中的插件 import svgJs from svg js dist svg expo
  • 使用 with 的热切加载模型,但给它起了另一个名字 - Laravel 5.2

    是否可以使用 with 方法来使用预加载 但给它另一个名称 就像是 gt with documents as product documents documents as categories 我有一个可以是产品或类别的文档表 急切加载可以
  • 表单请求中的 Laravel 数组验证

    我无法验证 Form Request 类中包含数组元素的字段 规则方法 public function rules return state gt required state 0 gt required state gt required
  • 使用composer create-project安装特定的laravel 5版本

    今天我尝试安装特定的 laravel 版本composer create project laravel laravel 5 1 8 your project name prefer dist 因为有些插件在5 1 9及以上版本有问题 但是
  • Laravel 中如何返回数组而不是集合?

    在 Laravel 中 可以仅选择一个字段并将其作为集合 数组返回 例如考虑模型Foo链接到表foos其中有字段id a b c 考虑以下示例数据 1 10 15 20 1 12 15 27 1 17 15 27 1 25 16 29 1
  • 在 Ubuntu 16.04 中创建虚拟主机

    我已经开始在 laravel 中工作并使用 lampp 我看过很多使用虚拟主机来制作用户友好的 url 的教程 我想在 Ubuntu 16 04 上执行此操作 以下教程对我不起作用 https ourcodeworld com articl
  • Laravel 6:尚未设置外观根

    经过一段时间的努力 我已将我的网站从 Laravel 5 8 迁移到 Laravel 6作曲家更新我在网站上遇到此错误 并且仅使用命令PHP工匠 PHP Fatal error Uncaught RuntimeException A fac
  • Laravel Blade - 链/嵌入多种布局

    在我最喜欢的模板框架中 它们通常具有嵌套布局的能力 这在 Blade 中是可能的吗 例如 master blade php yield content 导航 blade php extend master
  • laravel 5:找不到类“输入”

    In my routes php我有的文件 Route get function return view login Route get index function return view index Route get register
  • Laravel:如何设置多对多关系的连接?

    我有模型 class User extends Model protected connection mysql public function areas return this gt belongsToMany Area class u
  • Laravel 转义 Blade 模板中的所有 HTML

    我正在 Laravel 中构建一个小型 CMS 并尝试显示内容 存储在数据库中 它显示 HTML 标签而不是执行它们 就像所有打印数据都有一个自动 html entity decode 一样
  • laravel cron 使用错误

    Laravel 错误 cron 使用 usr bin php home sitevk artisan 计划 运行 1 gt gt dev null 2 gt 1 应用 控制台 内核 use Illuminate Console Schedu
  • 将策略应用到资源控制器

    我有一个CRUD资源定义通过Route resource User UserController 既然可以生成CRUDGates and Policies 有没有办法应用这样的Gate Policy 以便将相应的Gate Policy应用于
  • Laravel:使用 Faker 播种多个独特的列

    介绍 怎么样 伙计们 我有一个关于模型工厂和多个独特列的问题 背景 我有一个名为 Image 的模型 该模型将语言支持存储在单独的模型中 图片文字 图片文字 has an image id栏 语言栏和文本栏 图片文字有一个约束MySQL那个
  • Laravel Homestead 中 npm 安装错误有解决方案吗?

    Windows 10 家园 虚拟盒6 0 8 流浪者2 2 5 节点 v12 5 0 npm v6 10 1 我想做的就是在新安装的 Laravel 应用程序中执行 npm install 命令 但我不断收到错误 经过两天的谷歌搜索并尝试了
  • Laravel 意外错误“类用户包含 3 个抽象方法...”

    在 Laravel 上编写我的身份验证应用程序时 我遇到了一个以前从未见过的错误 我已经集思广益了近一个小时来解决这个问题的原因 但仍然找不到解决方案 Error User 类包含 3 个抽象方法 因此必须声明为抽象方法或实现其余方法 Il
  • Laravel 5.6 - 注册表无法正常工作并且不显示任何错误

    在我最近的一个项目中 定制登记表不管用 当我单击注册按钮时 它会重新加载注册表单 不会打印任何错误 并且不会将数据插入数据库中 这是注册表的外观 这里是移民文件代码 public function up Schema create user
  • 如果您编辑/更新该特定对象,laravel 唯一名称表示已被占用

    我有一个投资组合表 我没有在 url 中显示投资组合的 id 而是使用 getRouteKeyName 显示投资组合的名称 所以我希望该名称是唯一的 否则如果它已经存在 它可能会显示错误的投资组合 我将名称字段的规则设置为唯一 如果我现在编
  • Laravel 广播:通知与事件

    我阅读了 laravel 文档Events and Notifications 似乎我们可以触发一个事件 并从该事件中触发 使用ShouldBroadcast接口 将其广播到我理解的 laravel echo 另一方面我们可以使用通知via

随机推荐

  • 点击事件触发两次

    我试图在单击标签文本时运行某些函数 但单击事件触发了两次 HTML
  • 排除/覆盖 npm 提供的类型

    我有一个 npm 包 里面写得不好 打字也过时了 我已经编写了自己的类型 现在我想知道是否可以以某种方式从 npm 包中排除原始类型 它不是一个简单的接口扩展 原来的在这一点上基本上是垃圾 当然 使用 tsconfig json 中的排除列
  • 非常基本的 dcg prolog 语法

    我试图理解序言和定语从句语法 但我很难理解它们 我真的很想了解如何使用 dcg 语法 这里我举两个例子 第一个实际上是来自该论坛上另一个问题的代码 但还有一个附加问题 代码如下 s gt first operator second firs
  • Android studio:如何使用 ViewPager 添加选项卡

    我想在片段中添加带有 pagerview 可滚动 的选项卡 public class MyFragment extends Fragment private FragmentTabHost tabHost Override public V
  • Symfony2 无法正确保存会话

    我在 Symfony 在每个页面加载时创建一个新会话而不是跨请求携带数据时遇到问题 config yml 中会话部分的 auto start 设置为 false 常规 php 会话工作正常 只有在 symfony 中运行时我才会遇到问题 例
  • 最大值可以以两位数精度(2位精度)存储在Java浮点数中吗?

    我如何找到可以存储在 float 中的最大两位小数精度值 根据我的理解 在 32 位浮点数中 我们有 24 23 1 来存储不包括指数的数字 2 24 是我们可以存储的最大值 提前致谢 斯里拉曼 2 24 是您可以准确存储的最大整数 您可以
  • 单击时标签改变颜色

    我有一个 VBA Excel 用户单击标签 Active X 文本标签 来执行一些操作 标签属性为 BackStyle 透明 但当用户单击时 标签保持不透明 如白色或设置 BackColor 属性的任何内容 当用户点击标签时如何保持透明 不
  • 如何使用 Dask.array 高效地将大型 numpy 数组发送到集群

    我的本地计算机上有一个大型 NumPy 数组 我想将其与集群上的 Dask array 并行化 import numpy as np x np random random 1000 1000 1000 然而 当我使用 dask array
  • Entity Framework Core 中没有嵌套结果[重复]

    这个问题在这里已经有答案了 我在使用 EF 的 C 中有一个奇怪的行为 这是一个带有 EF Core 1 1 0 的 NET Core 项目 Microsoft EntityFrameworkCore SqlServer 1 1 0 Mic
  • 如何使用 Gson 库将 java.util.List 序列化为 Json?

    在我的 servlet 中 我有以下代码 response setContentType application json set json content type PrintWriter out response getWriter E
  • Truststore 和 Google Cloud Dataflow

    我需要使用信任存储在 Google Cloud Dataflow 中建立 SSL Kafka 连接 我可以从存储桶中提供这个 还是有办法将其存储在 本地文件系统 上 您可以使用KafkaIO Read withConsumerFactory
  • Pandas:通过两个分隔符将列拆分为多列

    我有这样的数据 ID INFO 1 A 2 B 2 C 5 2 A 3 B 4 C 1 3 A 1 B 3 C 2 我想将信息列分成 ID A B C 1 2 2 5 2 3 4 1 3 1 3 2 我可以使用一个分隔符来分割列 df A
  • Java 8 功能是否可用于 Java 绑定项目中的 Xamarin.Android?

    我有一个使用 Java 8 功能的 android 库项目 即通过 compileOptions sourceCompatibility JavaVersion VERSION 1 8 targetCompatibility JavaVer
  • 为什么 == 有时对 Java 中的字符串起作用? [复制]

    这个问题在这里已经有答案了 我有以下代码 Circle c1 new Circle Circle c2 new Circle System out println c1 c2 哪个输出False 正如预期的那样 这是因为c1 and c2是
  • Linux 在同一个 CSV 文件中将一列拆分为两个不同的列

    Closed 这个问题是无关 目前不接受答案 您好 我有一个包含以下条目的 csv 文件 11 22 13 aa bb cc ww kk ll 请建议我一个 Linux 命令或脚本 它可以在同一文件中将列分成 3 列 如下所示 11 aa
  • C# P\Invoke DLL 没有 C++ 的入口点?

    我有一个 C Dll TheFoo dll 其方法为 Foo 我只需调用以下命令即可访问使用此方法的其他 C 代码 Foo 我相信该方法确实具有 declspec dllexport 因此 根据我对 P Invoke 的阅读 我认为我应该能
  • PHP 替代控制结构有什么缺点吗?

    我一直在与PHP无需任何模板即可生成 HTML 的代码 而且其结构非常混乱且难以阅读 大幅改进我注意到的流程的一种方法是使用 endif代替 在某些情况下会阻塞以提高可读性 看http php net manual en control s
  • 适用于 Android 的 libjpeg-turbo

    I need libjpeg turbo对于安卓NDK 有人设法将其编译为 a 静态 lib 吗 我已经尝试了几次 但它只给了我很多错误 安装Android NDK 以下说明经过验证r8b 老版本可能有问题 我不知道 获取 Android
  • 如何在linux上运行aout?

    问题是如何在 Linux 系统上执行 aout format 二进制文件 我的意思是旧格式 例如在迁移到 ELF 之前在 FreeBSD 上使用的格式 是否有可能在没有额外编码的情况下做到这一点 是否有一些现有的解决方案 也许它应该是 Li
  • Laravel 8 - 外键约束的形成不正确

    我不知道出了什么问题 因为我对此很陌生 Product Model class Product extends Model use HasFactory public function store return this gt belong