【问题标题】:Laravel Voyager Belongs To Many relationship displays "No results found"Laravel Voyager 属于多个关系显示“未找到结果”
【发布时间】:2019-05-06 18:49:45
【问题描述】:

版本信息

  • Laravel:v5.7.15
  • 航海者:v1.1.10
  • PHP:7.2.8
  • 数据库:MySQL 5.7.14

说明

当我创建一个新的多属关系时,我无法在 Voyager 关系创建弹出窗口中选择显示字段,如果我仍然保存,我在添加/编辑记录时无法选择相关实体。

复制步骤

重现行为的步骤: 我有一个表格“products”、“categories”和“category_product”(为了确定,按照官方的默认 Laravel 命名约定)。 Category_product 有两个字段“product_id”和“category_id”,主键和索引。

我去产品面包,已经存在,尝试建立新的关系,见下图

如果我仍然保存并尝试添加新记录,我无法选择相关类别(肯定存在,有 4 个)

但是,您可以看到有 4 个空行,我可以对其进行排序,但它们不包含键/标签,因为我在创建关系时无法选择它们。

请帮我理解我做错了什么,我已经在 GitHub 和 StackOverflow 中搜索了很多,我找不到这个确切的问题。

我创建了 Product 和 Category 甚至 CategoryProduct 模型并定义了表名。我在 Laravel 端尝试了各种关系定义,但我认为它们不相关。现在我有了这个:

public function categories()
{
    return $this->belongsToMany(Category::class, 'category_product');
}

感谢您使用 Voyager 完成了出色的工作,这是我使用数月后的第一次真正的挣扎,这仍然使它成为我长期以来使用过的最好的工具之一。

这是同一个面包和同一个关系的编辑视图

【问题讨论】:

    标签: php mysql laravel voyager


    【解决方案1】:

    您必须指定“完全限定型号名称”

    看截图

    【讨论】:

      【解决方案2】:

      请运行composer require tcg/voyager dev-master 并再次测试。我已经解决了一个类似的问题,我认为它也可以解决您的问题。

      【讨论】:

      • 天哪,我不能再感谢你了!昨天花了几个小时把我的头撞到这个问题上,显然 dev 分支已经修复了。它是 composer require tcg/voyager:1.x,但它确实有帮助,谢谢!
      • 不客气。我很高兴能帮助你。很高兴会再做一次!
      • 我面临同样的问题,也运行此命令但无法正常工作,出现此错误 [InvalidArgumentException] 无法在与 dev-master 匹配的版本中找到包 tcg/voyager
      猜你喜欢
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 2014-06-04
      • 2019-01-02
      • 2017-10-03
      • 2015-05-25
      相关资源
      最近更新 更多