问题标签 [eloquent-relationship]

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 投票
17 回答
304893 浏览

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

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

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

最好在模型类内部。

0 投票
3 回答
15776 浏览

php - 通过 ID 数组对 Laravel 集合进行排序

是否可以在仍然通过关系访问的同时使用单独的 ID 数组订购关系集合?

设置Checklist有许多ChecklistItems 并且相关项目的所需顺序作为属性存在Checklist::$item_order。它只是按用户所需顺序排列的数字 ID 数组。:

我以正常方式访问这种关系:

是否有可行的方法根据数组$list->items中的值进行排序?$list->item_order

(我不能只在“项目”表中添加一个“订单”列,因为每个“列表”的订单都会发生变化。)

0 投票
1 回答
9181 浏览

php - Laravel关系列'id'在where子句中不明确

我有课程和订阅类型。我想获取所有具有给定订阅类型的课程。我的尝试:

但这失败了:

where 子句中的列“id”不明确

有什么建议吗?

0 投票
3 回答
2593 浏览

php - 与 Laravel faker 的嵌套关系 - laravel 播种机

我想用 laravel 文档https://laravel.com/docs/5.5/database-testing的关系部分中提到的用户和评论制作一个帖子播种器

预期的输出是有 3 个用户的帖子,每个用户有 5 条评论。

但是发生了错误:

在 Builder.php 第 2459 行:调用未定义的方法 Illuminate\Database\Query\Builder::save()

0 投票
1 回答
966 浏览

php - 在播种时为角色分配权限 - Entrust

Laravel 5.6.3 委托:1.9

我想用这个播种机只播种一排

和型号

现在,当我尝试播种时,出现此错误。

更新

我在 tinker 上试过

正确的做法是什么?

0 投票
1 回答
89 浏览

eloquent - Eloquent - 如何使用“Has Many Through”关系?

我有三张表 - products、features 和 product_feature - as

我正在检索产品的所有(键,值)对。SQL 语句是

我如何建立这种关系

0 投票
2 回答
66 浏览

laravel - HasManyThrough 关系包括一个 Pivot

我有一个ModuleQuestionCategory模型。

对于给定的Module,我只想访问category_id = X的问题

我不确定最有效的方法是什么。我可以通过 Module 和 Category 之间的 HasManyThrough 关系来做到这一点吗?还是我必须创建一个循环?还是通过原始 SQL 查询来完成?

更新

此 SQL 查询似乎有效。但是,我敢肯定必须有一个更优雅的解决方案?

0 投票
3 回答
4277 浏览

php - Laravel 雄辩的模型关系

我的应用建立在

我的榜样

我的用户模型是

现在你可以在 Tinker 中注意到

我得到了结果App\User::find(1)->roles(),但我的用户模型有函数role(),空集合App\User::find(1)->role()和错误App\models\Role::find(1)->users()

所以请给出一些想法,如何解决这个问题?

0 投票
1 回答
196 浏览

laravel - Laravel Eloquent - 如何查询给定年份的所有汽车型号,其中给出了品牌?

我有这些表ModelsYearModel_Year。该Model表有一个make_id引用idinMake表的列。

在我的模型中,我定义了和之间的belongsToMany关系。ModelYear

这是迄今为止在控制器中所做的事情:

id这将返回带有1的年份的所有模型。

如何添加查询以仅获取make_id= 1 的模型?

0 投票
2 回答
568 浏览

php - Eloquent:如何从 ::with() 结果中获取“WhereNotNull”

我正在运行以下具有with()关系的查询。

有时,由于with函数内的规则,返回的“目标”字段为空。如何删除具有objective=的结果null

->whereHas('objective')我之前尝试过使用,->get()但它没有改变任何东西。是否有另一种方法来评估with函数是否返回 null 保持相同的查询?

我头上的解决方案:

  • 改用连接,这样我就可以在同一个查询中评估空结果。
  • 使用 foreach 查看验证该objective字段是否为空,并从我返回的列表中删除找到的结果。