问题标签 [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.
mysql - Laravel DB 查询给出了一组不同于直接 MySQL 查询的结果
我的数据库是:
我正在尝试在 MySQL 中执行以下查询
像这样:
问题是我得到了不同的结果。
当我直接在 MySQL 中使用第一个查询时,我得到以下信息:
当我在我的 laravel 应用程序中执行第二个查询时,我得到以下结果集:
这基本上意味着我无法访问所有必要的列。
所以我需要做的是通过以下方式为我的子类别构建 URI:
其中category_slug1
是主要类别 slug,category_slug
是子目录 slug。问题是我只获得主类别 slug 而无法在 URI 中获得我的子类别的 slug。
我不确定自己做错了什么,因为我是 laravel 的新手,目前还不太了解,所以如果可以的话,请帮助我
mysql - Laravel 模型在查询中引用了错误的表
我确信这是因为雄辩,但是查询使用了错误的表SELECT
。
这是我的模型:
这是我的控制器:
最后是我的错误:
从错误中可以看出,查询中引用的表subcategories
应该是categories
表。
我的问题是如何在这个模型中引用正确的表格,因为我已经有一个用于我的主要类别的表格,而且它工作得很好。
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 语句,我没有创建任何代码。它都是由工匠命令自动生成的,明确按照文档的指示。
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中,看起来我的查询是正确的
我该如何解决?
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
球体属性
球面罩
mysql - Eloquent 模型:使用子表上的标志定义一对一关系
我有 2 张桌子vendors
和partners
vendors
table 只存储了一些公司的名字,partners
table 存储了为一些公司工作的用户。所以结构是这样的:
供应商
伙伴
因此,正如您在上面看到的,一个合作伙伴是任何供应商的所有者,其余的合作伙伴是供应商的员工。
我正在使用 Eloquent ORM,并且我已经为合作伙伴和供应商定义了模型。我想owner
在供应商模型中添加一个方法,以便我可以直接访问任何供应商对象的所有者。我想知道的是如何在我的模型定义中将其关联起来。它是可行的还是我需要对我的数据库结构进行一些更改?
mysql - Eloquent 和 mysql 转换为布尔值不起作用
模型:
结果列,是 mysql 中的 boolean tinyint。
结果在 DB 中为 0 而不是 1。
为什么?
确实按预期工作
php - Laravel Eloquent 与模型中的动态表名连接
我想在 Laravel eloquent Orm 中运行这个查询。
此外,我的$tbl1
名字是动态的,变量 $a 将根据需要更改。
现在我有两个模型
我的控制器
但它返回 AB 模型表名abs
,因为模型名是 AB 但预期的表名将是user_order
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
我设法建立了一种关系,但我无法获得基于另一种关系条件的关系。这是我的代码。
php - 模型 [App\Models\Favourite] 没有查询结果
- 当我尝试使用此查询删除值时,我收到此错误“没有模型 [App\Models\Favourite] 的查询结果。”。 -