问题标签 [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 投票
2 回答
3143 浏览

laravel - Laravel - 真的很难理解雄辩

我是从 Codeigniter 过来的 Laravel 的新手,在大多数情况下我真的很喜欢它,但我真的无法理解 Eloquent。

如果我想做一个这样的简单查询:

我尝试做这样的事情(带有“属于”):

但是现在我有两个查询和一个并不真正需要的 IN() ,如下所示:

所以我尝试像这样强制加入:

现在我得到一个像这样的错误:

很明显错误在哪里,哪里需要使用“site.id =?”之类的东西。但是我无论如何都看不到要发生这种情况?

所以我只是坚持回到流利的状态并使用:

我想这不是一个大问题。我真的很想理解雄辩。我不禁觉得我弄错了,误解了它的工作原理。我错过了什么吗?还是真的必须以非常特定的方式使用它?

我想我真正的问题是:无论如何,我想使用 Eloquent 进行查询吗?

0 投票
17 回答
304893 浏览

php - Laravel 中自动删除相关行(Eloquent ORM)

当我使用此语法删除一行时:

有没有办法附加各种回调,例如它会自动执行此操作:

最好在模型类内部。

0 投票
1 回答
214 浏览

ruby-on-rails - ORM 中的 Laravel 或 Rails MYSQL 查询是否使用 JOIN 语句

简单的问题,但我似乎找不到答案......鉴于以下陈述:

根据 Laravel 的说法,这似乎会生成两个 SQL 语句,而不是使用 JOIN。在所有 PHP 框架中都是这样吗?铁轨呢?

0 投票
1 回答
2468 浏览

php - 我应该如何为 Laravel 中的多个中间表构建 Eloquent ORM 模型?

我在任何地方都找不到有关如何使用 Eloquent ORM 模型拥有多个中间表的信息。我面临的问题是我有一个用于我的用户、权限和角色的表。这些是4个表:

权限:

权限角色:

Permission_role_mappings:

Permission_role_user_mappings:

(好吧,我也有一张users桌子,但它的布局并不重要,因为外键在permission_role_user_mapping.)

所以问题是我希望能够在permissions从用户模型调用时从表中获取数据。我很难完全掌握 Eloquent ORM 的工作流程,所以如果我遗漏了一些至关重要的基本内容,请指出。

根据文档,我似乎不需要为中间表创建模型。那么如何从 User 类中指定关系呢?我可以做类似的事情吗?

这似乎不起作用,这是错误:

我还希望能够从 Permission_Role 和 Permission 开始获取数据。我希望答案能帮助我指定所需的所有模型。

0 投票
4 回答
9316 浏览

php - 将 MySQL 函数传递给 Eloquent ORM 查询

我正在尝试在 Eloquent ORM 中执行以下查询,但似乎无法执行 MySQL 函数 -

我得到的异常如下 - 消息:

因此,基本上,它将YEAR()MySQL 函数封装为列。有没有办法在不使用原始查询的情况下做到这一点?

0 投票
2 回答
2209 浏览

php - Laravel 设置了一个自动 WHERE 子句

我使用扩展了 generic_model 的模型,而后者又扩展了 Eloquent(所以我有几个我使用的 crud 方法已经设置为继承)。

我使用的许多表都调用软删除,这需要一个 WHERE 子句...

有没有办法让 Laravel 以这样的方式运行,即这个 WHERE 子句自动包含在所有查询中以及对彼此相关的对象的所有查询中?

例如

进而...

0 投票
2 回答
428 浏览

php - Laravel 中的关系

我有两张桌子,GalleriesGallery_items。在Galleries我保存诸如作者是谁之类的信息。在Gallery_items我保存画廊包含的每张图片。

现在我想在每个画廊中获取第一张照片,其中标题是蒙娜丽莎作者是莱昂纳多·达·芬奇

我测试过:

但它不起作用。我得到一个错误Method [gallery] is not defined on the Query class.

但我已将 gallery() 添加到模型中。

知道我该怎么做吗?这甚至可以通过一个查询来实现吗?“约束急切加载”也许是答案(我不明白那是什么)?

0 投票
2 回答
3189 浏览

laravel - Laravel 4:Eloquent::find() 不起作用

所以我有一个简单的、空的 Eloquent 类:class Worker extends Eloquent {}. 然后在控制器中我写:Worker::find(1);我得到一个异常,说SQL不正确:

显然,缺少 from SQL 子句。

哦,我今天为这个应用下载了 Laravel 4。

0 投票
1 回答
961 浏览

php - 尝试访问 Laravel 4 中的关系数据时出错

我已经使用 Laravel 4 几天了,我偶然发现了一些我似乎无法修复的东西。

使用 Eloquent,我设置了 2 个模型,其中AppointmentbelongsTo. Room像这样检索它之后(使用急切加载):

我在我看来打印它:http: //paste.laravel.com/fnL

我遍历它并检索 Appointment 的值:

这很好用,但是当我添加以下行时:

它抛出以下错误:

我可能只是忽略了一些东西,但我已经看了很长一段时间了,但我只是没有看到它......

提前感谢您的帮助!

0 投票
1 回答
11857 浏览

php - 一对多然后急切地使用 Laravel Eloquent ORM 加载一个数组

使用 Laravel 和雄辩的 ORM,我想创建一个数组或对象,其中包含属于特定用户(已登录用户)的所有帖子和相应评论。然后将结果与 Response::eloquent(); 一起使用。返回 JSON。

基本上是伪代码:

或者

我按照通常的用户表、评论表和帖子表设置了我的数据库。comments 表有一个 post_id,posts 表有一个 user_id。

在没有 Laravel 的情况下这样做的漫长方法是:

但我想用 Laravel 的 Eloquent ORM 来完成它。