【发布时间】:2019-09-21 12:52:43
【问题描述】:
我有类别的集合。
App\Category::all() 我明白了:
ID | PARENT_ID | NAME | DEPTH'
1 | 0 | parent1 | 0
2 | 0 | parent2 | 0
3 | 1 | child1 | 1
4 | 2 | child2 | 1
如何将自定义属性(列或方法结果)添加到我的集合中?
我写等时想要得到的结果:$categories=Category::with('childs');
ID| PARENT_ID | NAME | DEPTH' | CHILDS
1 | 0 | parent1 | 0 | {2 | 1 | child1 | 1 | NULL}
2 | 0 | parent2 | 0 | {3 | 2 | child2 | 1 | NULL}
3 | 1 | child1 | 1 | NULL
4 | 2 | child2 | 1 | NULL
我想你明白了。我尝试使用 Accessors & Mutators,并成功添加了数据等属性。
$category->childs; // 值应该是 {12 | 10 |名称1 | 1 |空}
但我被卡住了,因为我无法将数据传递给带有查询数据的方法并将其返回。我想使用一个表,稍后我将在表中添加 left 和 right 列以拥有树数据库,现在我只是尝试更简单一些 - 拥有父级并将子级添加到它的集合中
【问题讨论】:
-
我实际上并没有完全理解你的问题。您想为集合的元素添加属性吗?您需要对方法进行大量处理的数据是……什么?
-
这是什么意思:
I can't pass data to method with queried data and return it back。请提供您提到的方法。 -
你想要什么有点混乱。也许更好地解释您当前的方法、当前结果和预期结果。
-
请出示您的代码。一般来说,迭代所有集合项并添加您想要的属性
-
我不完全是,但也许 appends 属性是您正在寻找的。 laravel.com/docs/5.8/…
标签: sql database laravel eloquent