首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kohana Jelly:如何从Jelly集合快速创建数组?

Kohana Jelly:如何从Jelly集合快速创建数组?
EN

Stack Overflow用户
提问于 2011-02-21 03:28:55
回答 2查看 1.1K关注 0票数 0

假设你有一个模范人物。每个Person对象可以有许多朋友(Field_HasMany)。

如果你想为一个给定的人的朋友获取一个简单的姓名/id对数组,那么像这样获取朋友会更快/更好吗:

代码语言:javascript
复制
$friends = $person->friends;

,然后使用foreach循环从该对象创建数组。

执行select操作,如下所示:

代码语言:javascript
复制
$friends = Jelly::select('friend')
->join('people')
->on('person.id','=','friends_people.person_id')
->where('person_id','=',$person->id)
->execute()  
->as_array('name', 'id');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-21 16:29:38

基本上,Jelly所做的是在您请求$person的朋友时构建正确的查询(类似于您的自定义查询)

要在数组中获得好友,您可以执行与自定义查询完全相同的操作:

代码语言:javascript
复制
$friends = $person->friends->as_array('id', 'name');
票数 0
EN

Stack Overflow用户

发布于 2011-02-21 11:02:51

问题是其他的..。因为一个(注一)人可以有许多(许多)朋友,所以关系不是多对多是一对多:另一个人认为,如果你真的需要多对多关系,你需要第三个表来粘合。在这种情况下,如果你有一对多的关系,“一个人有很多朋友”。您可以执行Person-> friends ->findAll()来获取给定person ID的所有好友:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5059437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档