php - Laravel Voyager 属于多个关系显示 "No results found"

标签 php mysql laravel voyager

版本信息

  • 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”,既是主键又是索引。

我转到已经存在的产品面包,尝试创建新的关系,请参见下图

image

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

image

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

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

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

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

感谢您使用 Voyager 所做的出色工作,这是我使用几个月后第一次真正遇到困难,但这仍然使其成为迄今为止我很长时间以来使用过的最好的工具之一。

这是相同面包和相同关系的编辑 View

image

最佳答案

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

看截图 enter image description here

关于php - Laravel Voyager 属于多个关系显示 "No results found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53628270/

相关文章:

mysql - Laravel Schema Builder 改变存储引擎

php - 由于ajax调用,javascript倒计时滞后

PHP - SQL 如何从表中选择 ID 并插入到另一个表中?

php - 如何在 yii cgridview 中使用 x-editable 启用或禁用可编辑选项?

mysql - 优化 MySQL 查询/数据库

mysql - CakePHP Acl 控制的应用程序 ARO/ACO 查找失败 - 权限未注册

php - 如何在 laravel 的路由名称中传递变量?

php - 从 PHP 连接到 cassandra

mysql - RELOAD 权限以刷新主机

php - 开发 Laravel 3 和 Laravel 4