问题标签 [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.
php - 在 laravel 中创建可链接的方法
我一直在尝试在 laravel 的 eloquent 中创建自己的可链接方法,但我遗漏了一些东西,但不确定是什么。这可能听起来有点疯狂,但请查看下面的函数以更好地了解我想说的内容。
如果我理解正确,那么我的方法没有资格链接另一种方法?所以我想我的问题是如何在我的模型中创建一个可链接的方法?
PS 我查看了 laravel 的查询构建器类,在其中我看到可链接的方法返回该对象的实例,但除了我在上面的代码中完成的方式之外,我找不到返回对象的方法。任何形式的建议或建议都将受到高度赞赏。提前致谢。
mysql - 在使用 Laravel 4 的 Eloquent ORM 时如何使用我自己的列名?
假设我有以下 MySQL 表:
如何使用 Eloquent 模型使用上面的列名将新行记录到表中?如果我按照文档中的说明尝试:
我收到以下错误:
例外:SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列 'user_name'(SQL:插入
backend_users
(user_name
,password
,salt
,needs_new_password
,full_name
,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 正在使用它想要的任何列名,而不是我的列名,即使我明确指定了每个列的名称和值。
我该怎么办?如果可能,请不要说“重命名列”,因为这意味着重命名很多列(我有很多表)。此外,我没有阅读任何关于列名的特定命名约定的信息。
laravel - Laravel Eloquent AS 关键字
我正在尝试使用关键字 AS 来组合两列,以便我可以对该列进行排序。
这是目前的完整查询。
我想要做
谢谢你。
解决方案
似乎使用 DB::raw() 是唯一的方法,Laravel/Eloquent 只是不理解 AS。
工作解决方案是
php - Laravel Eloquent 搜索两个可选字段
我正在尝试使用 eloquent 搜索两个可选表:
当用户进行空搜索时,这适用于返回所有结果,但我不确定如何调整它以在存在时搜索乐队名,反之亦然。
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"
感谢您的任何指点
php - Laravel Eloquent 输出 c
我正在使用 Laravel 的 Eloquent,大多数时候没有任何问题。但现在我遇到了一个问题,似乎无法解决它。谷歌没有提供解决方案......
公司模型中的关系:
凭据将“c”回显到每一页。“c”在文档类型之前输出。当我删除凭据行时,“c”消失了。
页面来源:
任何人?
mysql - 有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?
有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?
和雄辩的?
php - 使用雄辩的一对多时如何在第二张桌子上'order_by'
当然,我可以将 order_by 与第一个表中的列一起使用,但不能与第二个表中的列一起使用,因为结果是部分的。
如果我使用“加入”,一切都会完美,但我需要雄辩地实现这一目标。难道我做错了什么?
这是一个例子:
php - 如何在 Laravel 中链接数据库关系(多个 has_many?)
我正在使用 Laravel,这很棒,但我遇到了数据库问题。
假设我们有三个表,如下所示:
表 1:页数
表 2:元素
表 3:内容
我想对页面进行一次选择,然后选择具有该页面 id 的所有元素,并且对于每个元素,它应该选择具有元素 id 的所有内容行。
我想在 Page 模型中有一个静态load_by_route($route)函数,当被调用时,它将使用路由来加载和返回页面信息以及如上所述的元素和内容。理想情况下,它将返回包含所有这些信息的单个对象/数组。
基本上,我不确定如何将 has_many() 调用链接在一起,以便获得两级关系。
php - 模型在自身内部调用自己是不好的做法吗?
这是一个例子,在 Laravel 中使用 Eloquent。
假设我正在开发 CMS。
- 控制器采用路由并通过路由查找页面。
- 该模型提供了一个静态函数,该函数使用路由来找出它正在寻找的行的 id
- 然后模型使用自己执行数据库查询并返回结果
示例控制器代码:
示例型号代码:
在你问“为什么你不能首先使用Page::where('route', '=', $route)->first()之前:我不知道'如何做'这个例子。我只是想知道在页面模型中使用 Page:: 是否不好?