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

php - 在 laravel 中创建可链接的方法

我一直在尝试在 laravel 的 eloquent 中创建自己的可链接方法,但我遗漏了一些东西,但不确定是什么。这可能听起来有点疯狂,但请查看下面的函数以更好地了解我想说的内容。

如果我理解正确,那么我的方法没有资格链接另一种方法?所以我想我的问题是如何在我的模型中创建一个可链接的方法?

PS 我查看了 laravel 的查询构建器类,在其中我看到可链接的方法返回该对象的实例,但除了我在上面的代码中完成的方式之外,我找不到返回对象的方法。任何形式的建议或建议都将受到高度赞赏。提前致谢。

0 投票
2 回答
1245 浏览

mysql - 在使用 Laravel 4 的 Eloquent ORM 时如何使用我自己的列名?

假设我有以下 MySQL 表:

如何使用 Eloquent 模型使用上面的列名将新行记录到表中?如果我按照文档中的说明尝试:

我收到以下错误:

例外:SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列 'user_name'(SQL:插入backend_users ( user_name, password, salt, needs_new_password, full_name, email, role_type, enabled, updated_at, created_at) 值 (?, ?, ?, ?, ?, ?,?,?,?,? 5 => 'somemail@gmail.com', 6 => 0, 7 => 1, 8 => DateTime::__set_state(array('date' => '2013-02-26 00:20:03', ' timezone_type' => 3, 'timezone' => 'UTC', )), 9 => DateTime::__set_state(array( 'date' => '2013-02-26 00:20:03', 'timezone_type' => 3, 'timezone' => 'UTC', )), ))

如果您不想阅读所有这些内容,这仅意味着 Eloquent 正在使用它想要的任何列名,而不是我的列名,即使我明确指定了每个列的名称和值。

我该怎么办?如果可能,请不要说“重命名列”,因为这意味着重命名很多列(我有很多表)。此外,我没有阅读任何关于列名的特定命名约定的信息。

0 投票
2 回答
6787 浏览

laravel - Laravel Eloquent AS 关键字

我正在尝试使用关键字 AS 来组合两列,以便我可以对该列进行排序。

这是目前的完整查询。

我想要做

谢谢你。


解决方案

似乎使用 DB::raw() 是唯一的方法,Laravel/Eloquent 只是不理解 AS。

工作解决方案是

0 投票
4 回答
8134 浏览

php - Laravel Eloquent 搜索两个可选字段

我正在尝试使用 eloquent 搜索两个可选表:

当用户进行空搜索时,这适用于返回所有结果,但我不确定如何调整它以在存在时搜索乐队名,反之亦然。

0 投票
1 回答
1526 浏览

laravel - Laravel Eloquent ORM 的多对多 where_in 语法

我正在努力使用 Laravel 的 Eloquent ORM 进行连接查询

我有两个具有多对多关系的类

在我的数据库中,我有类型、活动和活动类型表

我正在尝试重新创建以下 SQL 查询

我只是没有掌握 ORM 语法。我试过了

$activities = Activity::types().where_in("id", $types)->get();

但我得到一个错误"Non-static method Activity::types() should not be called statically, assuming $this from incompatible context"

感谢您的任何指点

0 投票
1 回答
229 浏览

php - Laravel Eloquent 输出 c

我正在使用 Laravel 的 Eloquent,大多数时候没有任何问题。但现在我遇到了一个问题,似乎无法解决它。谷歌没有提供解决方案......

公司模型中的关系:

凭据将“c”回显到每一页。“c”在文档类型之前输出。当我删除凭据行时,“c”消失了。

页面来源:

任何人?

0 投票
4 回答
182583 浏览

mysql - 有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?

有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?

和雄辩的?

0 投票
4 回答
3539 浏览

php - 使用雄辩的一对多时如何在第二张桌子上'order_by'

当然,我可以将 order_by 与第一个表中的列一起使用,但不能与第二个表中的列一起使用,因为结果是部分的。

如果我使用“加入”,一切都会完美,但我需要雄辩地实现这一目标。难道我做错了什么?

这是一个例子:

0 投票
2 回答
18538 浏览

php - 如何在 Laravel 中链接数据库关系(多个 has_many?)

我正在使用 Laravel,这很棒,但我遇到了数据库问题。

假设我们有三个表,如下所示:

表 1:页数

表 2:元素

表 3:内容

我想对页面进行一次选择,然后选择具有该页面 id 的所有元素,并且对于每个元素,它应该选择具有元素 id 的所有内容行。

我想在 Page 模型中有一个静态load_by_route($route)函数,当被调用时,它将使用路由来加载和返回页面信息以及如上所述的元素和内容。理想情况下,它将返回包含所有这些信息的单个对象/数组。

基本上,我不确定如何将 has_many() 调用链接在一起,以便获得两级关系。

0 投票
1 回答
2868 浏览

php - 模型在自身内部调用自己是不好的做法吗?

这是一个例子,在 Laravel 中使用 Eloquent。

假设我正在开发 CMS。

  • 控制器采用路由并通过路由查找页面。
  • 该模型提供了一个静态函数,该函数使用路由来找出它正在寻找的行的 id
  • 然后模型使用自己执行数据库查询并返回结果

示例控制器代码:

示例型号代码:

在你问“为什么你不能首先使用Page::where('route', '=', $route)->first()之前:我不知道'如何做'这个例子。我只是想知道在页面模型中使用 Page:: 是否不好?