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

laravel - Laravel Eloquent 和梳理数据发送到 View

我试图找出一种方法将两个表中的数据组合成一个变量,然后我可以将其发送到我的视图。我使用授权作为我的身份验证包,因此我设置了以下表格:用户、角色、角色用户。我想将以下数据放入单个变量中。

来自用户表:id、name、email

从角色表中:名称

以下返回 users 表中的所有用户数据:

但是,我想制作一个可以获取存储在角色表中的相关数据的链?我希望所有用户和所有每个用户角色在一起。

虽然我可以找到有助于获取单个记录的相关数据的示例,但我无法找到任何参考来检索具有相关数据的整个表。

谢谢。

0 投票
5 回答
64919 浏览

php - Laravel,如何使用关系列的 where 条件?

我正在使用 Laravel 并且在使用 Eloquent ORM 时遇到了一个小问题。我可以使用 JOIN 简单地使用 SQL 查询来实现它,但我似乎无法让它与 Eloquent 一起使用!

这就是我想要的,我有两个表。一个是“Restaurants”,另一个是“Restaurant_Facilities”。

这些表很简单......和一对一的关系。就像有一个restaurant带有id, name, , 等的slug表格和另一个restaurant_facilities带有id, restaurant_id, wifi,parking等的表格

现在我想要做的是..加载所有有 wifi = 1 或 wifi = 0 的餐厅.. 我怎么能用 Eloquent 做到这一点?我尝试过急切加载、数据透视表、with()、collections(),但似乎没有任何效果!

对于多对多关系,我遇到了同样的问题cuisines!我有同restaurant一张桌子和一张cuisine桌子和一张restaurant_cuisine_connection桌子..

但是如何使用它的 ID 加载特定美食中的所有餐厅?

这行得通。

Cuisine::find(6)->restaurants()->get();

但我想从 Restaurant:: 模型而不是美食中加载它.. 因为我有很多条件链接在一起.. 它用于搜索和过滤/浏览页面。

有什么想法或方法吗?我已经为此苦苦挣扎了 3 天,但仍然没有答案。

示例模型:

PS:这似乎有效..但这不是雄辩的方式吗?

另外,在没有其他查询的情况下查找具有特定列值的餐厅数量的最佳方法是什么?像.. 我必须找到有停车场 = 1 和 wifi = 1 的餐厅总数?

请帮助解决这个问题。

谢谢你。

0 投票
2 回答
2739 浏览

orm - Laravel 4 Eloquent ORM:虚拟表/视图 - 有可能吗?

我有一个表事件,我在其中记录不同类型的事件,例如登录、注册等。这是基于type列的。

我想为每种事件类型提供不同的模型(或任何其他合适的解决方案),例如EventLogin. 因此,看起来我对每种事件类型都有不同的“表”,即使它们保存在同一个表中。

编辑:当然,我不想每次都去想它,即我想做EventLogin->where("user_id", "=", $user->id)而不必担心记住做->where("type", "=", "login")

是否可以?

0 投票
16 回答
200924 浏览

php - Laravel Eloquent:如何从连接表中仅获取某些列

我在 Eloquent 中有 2 个连接表,即主题和用户。

主题模型:

用户模型:

我的 Eloquent api 调用如下所示:

它返回主题的所有列(很好),以及用户的所有列(不好)。我只需要用户模型中的“用户名”列,如何将查询限制为该列?

0 投票
1 回答
284 浏览

laravel - Laravel 3 Eloquent ORM 用法

我有以下代码有效,但似乎没有遵循 laravel 雄辩的方式:

我有 4 张桌子;彼此具有多对多关系的文章和类别,包含文章 ID 和类别 ID 的数据透视表 article_category 表和与文章具有一对一关系的图像表。

我将模型设置为:

但是,我似乎无法将所有三个信息放在一起。我可以:

要获取给定类别中的所有文章,但我似乎无法获取文章的图像,似乎没有什么可以链接到?除非我做错了?有没有我错过的技巧?

我什至尝试了文档中的精简版本:

但是我收到一个错误:尝试获取非对象的属性,即使 var_dump 显示 $article->image 是一个对象!诡异的。

谢谢

0 投票
1 回答
1829 浏览

database - Laravel 和实体关系模型 - 我应该走多远?

有些人可能知道 ER-Diagrams?数据库的模型

例如: http ://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

所以这是我的数据库模型:( 在此处输入图像描述 翻译:Werkstatt = Garage,Dienstleistung = Service,Kategorie = Category,Bewertung = Rating,bewerten = rate,besitzt = owns,hat = has)

我的问题是:

1)我可以建模多对多关系,一对一,一对多。我应该在需要时为他们使用自己的桌子吗?例如 MANY-to-MANY 关系需要一个自己的表。还是 Laravel 会通过其 Eloquent ORM 来处理这种关系?

2)您可以设计一个很好的数据库,例如不能有NULL值。或者它以适当的方式处理依赖关系或冗余(参见http://en.wikipedia.org/wiki/Database_normalization#Normal_forms)。我应该处理冗余和依赖关系,还是 Laravel 会再次处理这些问题?

所以总的来说,我只想知道,我的数据库设计应该走多远?我应该让它尽可能好,还是仅仅创建基本实体就足够了?

信息:在这里您可以看到如果数据库未标准化可能发生的后果: http ://en.wikipedia.org/wiki/Database_normalization#Free_the_database_of_modification_anomalies

问候

0 投票
1 回答
492 浏览

laravel - Laravel 3 雄辩的多对多关系

我有一个 Post 模型和一个 Tag 模型进入多对多关系。

当我得到帖子和帖子的所有标签时,我使用它并且它工作得很好:

上面的代码显示了最新创建的帖子并将它们分页。

我想实现同样的目标,但以另一种方式,从标签开始,获取按 created_at 列分页和排序的帖子列表。

这可行,但会显示所有帖子,我希望它们在 where_published(1) 上进行分页、排序和过滤。

这可以通过使用预先加载的 eloquent 来完成吗(没有预先加载我已经知道这样做但是会有太多的查询)?

我在哪里可以放置过滤器以及如何让它们分页?

0 投票
4 回答
289 浏览

laravel - 如何在 laravel eloquent 模型中一对多地获取两个表的列?

使用这个简单的示例,我可以获取表“comments”中的列,但无法获取表“post”中的列。我知道我可以使用“Fluent join”,但它在 Eloquente 中可行吗?谢谢!

}

0 投票
3 回答
3190 浏览

date - 使用 Eloquent,我如何过滤我的模型查询以仅包含今天创建的项目?

我的应用程序有一个仪表板,必须显示今天提交的最后 10 个条目。

如何过滤我的 Eloquent 查询以仅显示created_at今天的项目?

编辑:这是雄辩的方式吗? Entry::where('DATE(created_at)', '=', 'DATE()') [...]

0 投票
3 回答
18355 浏览

php - Laravel 4 数据库种子不起作用

我遵循本教程: http://fideloper.com/post/41750468389/laravel-4-uber-quick-start-with-auth-guide?utm_source=nettuts&utm_medium=article&utm_content=api& utm_campaign=guest_author

而本教程: http: //laravelbook.com/laravel-database-seeding/

但是,当我尝试运行时php artisan db:seed,什么也没有发生。

我试试这个:

接下来:php artisan db:seed

但: