问题标签 [laravel-eloquent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

mysql - Laravel DB 查询给出了一组不同于直接 MySQL 查询的结果

我的数据库是:

我正在尝试在 MySQL 中执行以下查询

像这样:

问题是我得到了不同的结果。

当我直接在 MySQL 中使用第一个查询时,我得到以下信息:

当我在我的 laravel 应用程序中执行第二个查询时,我得到以下结果集:

这基本上意味着我无法访问所有必要的列。

所以我需要做的是通过以下方式为我的子类别构建 URI:

其中category_slug1是主要类别 slug,category_slug是子目录 slug。问题是我只获得主类别 slug 而无法在 URI 中获得我的子类别的 slug。

我不确定自己做错了什么,因为我是 laravel 的新手,目前还不太了解,所以如果可以的话,请帮助我

0 投票
1 回答
1658 浏览

mysql - Laravel 模型在查询中引用了错误的表

我确信这是因为雄辩,但是查询使用了错误的表SELECT

这是我的模型:

这是我的控制器:

最后是我的错误:

从错误中可以看出,查询中引用的表subcategories应该是categories表。

我的问题是如何在这个模型中引用正确的表格,因为我已经有一个用于我的主要类别的表格,而且它工作得很好。

0 投票
3 回答
3744 浏览

php - 自动注入的 Laravel 模型没有属性

我是 Laravel 的新手。我已经为我的一个表创建了一个模型、一个资源控制器和一个路由,我已经修改了模型类以使用特定的表名,但是 Laravel 5.4 注入的模型对象没有属性,即使对应的记录存在于数据库。这是我采取的步骤。

1) 与工匠一起创建模型。我运行了这个命令:

2)按照说明修改Tree模型类,指定具体的表。我必须这样做,因为我的表被命名为tree,而不是 Laravel 根据其内部规则假设的“树”。

3)使用此命令创建一个使用我的模型的资源控制器

4) 添加资源路由 routes/web.php 以便将 Web 服务器路径映射到控制器:

5)修改CategoryController的show()方法为var_dump注入的$tree对象。它看起来像这样:

6) 我的表结构遵循Laravel 文档指定的所有约定。有一个整数id列是无符号和自动递增的。我有 created_at 和 updated_at 时间戳。唯一不同的是表名是“tree”而不是“trees”,但这应该包含在我上面所做的更改中:

此表包含数据。它肯定有一个 id=1 的记录。

7) 我访问应该激活资源控制器的 show() 方法的 url。我得到的输出证实这实际上是方法 CategoryController::show()。http://example.com/categories/1

这是问题所在。

var_dump($tree) 的输出没有属性。没有错误,但是注入的对象有问题

我做错了什么吗?如何让 Laravel 注入正​​确的对象?

编辑:有人问我为什么在我的路线中注入了错误的对象。这是在步骤#3 中自动生成的类的缩写版本。它清楚地引用了 Tree 类和代码提示它期望一个树对象。除了 var_dump 语句,我没有创建任何代码。它都是由工匠命令自动生成的,明确按照文档的指示。

0 投票
1 回答
796 浏览

php - 如何解决类型错误:传递给 Rinvex\Repository\Repositories\EloquentRepository::findWhereNotIn() 的参数 1 必须是数组类型?

我的查询是这样的:

执行时,存在如下错误:

[Symfony\Component\Debug\Exception\FatalThrowableError] 类型错误:传递给 Rinvex\Repository\Repositories\EloquentRepository::findWhereNotIn() 的参数 1 必须是数组类型,给定字符串,在 C:\xampp\htdocs\myshop 中调用第 48 行的 \app\Console\Commands\Check.php

而在教程https://github.com/rinvex/repository#findwherenotin中,看起来我的查询是正确的

我该如何解决?

0 投票
0 回答
141 浏览

php - 拉拉维尔 5.2。使用 eloquent-relationships 创建一个复杂的查询

我有几张桌子,想加入他们,使用雄辩的关系,但我不知道如何。

所有表格的图片:

所有表

第一个表(Leads)使用关系与表 sphere_attributes 连接:

Leads.sphere_id = sphere_attributes.sphere_id

从这个关系我想得到列“标签”。

这些标签的值存储在另一个表“sphere_attribute_options”的“值”列中。

Leads与 sphere_attribute_options 相关为:

我只需要来自 sphere_attribute_options 的这些值,其中表 sphere_bitmask_XX (XX = sphere_id) 的字段 fb_AID_OID=1 (AID= sphere_attributes.id, OID= sphere_attribute_options.id)。

sphere_bitmask_XX表和之间的关系leads

sphere_bitmask_XX.user_id=leads.id AND sphere_bitmask_XX.type='lead'</p>

我的模型:

带领

SphereAttrOptions

球体属性

球面罩

0 投票
2 回答
105 浏览

mysql - Eloquent 模型:使用子表上的标志定义一对一关系

我有 2 张桌子vendorspartners

vendorstable 只存储了一些公司的名字,partnerstable 存储了为一些公司工作的用户。所以结构是这样的:

供应商

伙伴

因此,正如您在上面看到的,一个合作伙伴是任何供应商的所有者,其余的合作伙伴是供应商的员工。

我正在使用 Eloquent ORM,并且我已经为合作伙伴和供应商定义了模型。我想owner在供应商模型中添加一个方法,以便我可以直接访问任何供应商对象的所有者。我想知道的是如何在我的模型定义中将其关联起来。它是可行的还是我需要对我的数据库结构进行一些更改?

0 投票
1 回答
2112 浏览

mysql - Eloquent 和 mysql 转换为布尔值不起作用

模型:

结果列,是 mysql 中的 boolean tinyint。

结果在 DB 中为 0 而不是 1。

为什么?

确实按预期工作

0 投票
0 回答
867 浏览

php - Laravel Eloquent 与模型中的动态表名连接

我想在 Laravel eloquent Orm 中运行这个查询。

此外,我的$tbl1名字是动态的,变量 $a 将根据需要更改。

现在我有两个模型

我的控制器

但它返回 AB 模型表名abs,因为模型名是 AB 但预期的表名将是user_order

0 投票
0 回答
158 浏览

laravel - Eloquent:基于条件的嵌套急切加载

我有 4 张桌子。组合、产品、product_variants、combo_product(数据透视表)。combo_product有 2 列,即参考,reference_id

现在,我想附加基于关系的条件。

if(reference == 'product')然后with('products.product_details')

if(reference == 'product_variant')然后with('products.product_variant_details')

这是我的关系:

组合.php

组合产品.php

我设法建立了一种关系,但我无法获得基于另一种关系条件的关系。这是我的代码。

0 投票
2 回答
9345 浏览

php - 模型 [App\Models\Favourite] 没有查询结果

  • 当我尝试使用此查询删除值时,我收到此错误“没有模型 [App\Models\Favourite] 的查询结果。”。
  • -