我们有以下几种型号-
邮递
----------------------------------------------
| id | title | text | creator | status | etc |
----------------------------------------------
| | | | | | |
----------------------------------------------
creator -> belongsTo User
group -> belongsTo group
使用者
posts -> hasMany Posts
avatar -> hasOne Media
媒体
user -> belongsTo User
集团
post - belongsTo Post
当我使用eloquent获取帖子时,我可以使用transform函数来转换帖子属性,但无法转换帖子集合中的关系。
$posts = Post::where('status', 'active')
->with(['creator.avatar','group'])
->get();
$posts->transform(function($post) {
$post->title = 'Transformed'; // works
$post->creator->avatar = ['path'=>'/avatar/','file_name'=>'a.png']; // does not work
});
当你调用$post-
这很重要,因为这意味着您在由
getRelation
方法返回的对象上设置属性,您没有通过引用更新创建者关系-因此,当您再次调用getRelation('creator')
时,原始关系值是返回。
因此,要实现您想要实现的目标,您需要覆盖
creator
关系值:
$posts->transform(function ($post) {
$post->title = 'Transformed';
$creator = $post->creator;
$creator->avatar = [
'path' => '/avatar/',
'file_name' => 'a.png'
];
$post->setRelation('creator', $creator); // or $post->creator = $creator;
});
我正在构建一个应用程序,以Laravel作为前端,Angular作为后端。我正在对用户发表的帖子和评论实施一个类似的系统。我与我的like系统有多态关系,因为用户可以喜欢帖子和评论。我的模型是这样的: 像模特 后模型 注释模型 我不知道该怎么做。当我加载一篇帖子或一条评论时,我想检索帖子的详细信息(我已经可以检索到了)以及喜欢它的人。如何在帖子中加载“喜欢”的数据?我应该在这里使用多态关系吗?提前
很好的一天。我在我维护的代码中看到了这个片段。我试着去理解它的意思(比如我甚至需要向别人解释)。谁能帮助简化?代码如下所示。 这和说
我有一个帖子和评论模型。 Post与评论有很多关系。评论与文章有关系。 我想用他们的评论加载帖子,但我想限制每个帖子只能得到3条评论。我怎样才能雄辩地做到这一点? 但是这个限制只会为所有10篇文章加载3条评论,而不是每个文章加载3条评论。 如果这还不可能通过Eloquent实现,是否有其他解决方案也可以实现即时加载? 谢谢
我现在正在做连接4游戏,我正在绘制令牌,我需要通过单击右键或左按钮之类的事件来翻译它...这是我的代码 我不知道用哪一个函数翻译,我已经搜索了,但什么也没有找到,或者我应该从一开始就清除绘图并重新绘制?!
本文向大家介绍说说你对数据类型转换的理解是什么?类型转换的方法有哪些?相关面试题,主要包含被问及说说你对数据类型转换的理解是什么?类型转换的方法有哪些?时的应答技巧和注意事项,需要的朋友参考一下 这个题有点大,,,写几个常用的吧 String to Number Number(str) +str Number to String toString(num) ''+num All to Boolea
在我的Laravel应用程序中,我有三个结构/模式完全相同的数据库表,然后有一个包含所有用户的“用户”表。 所有三个表都具有以下结构。。。 表1 id 表2 id 表3 id 现在我真的想把数据保存在这些单独的表中。但是,有一次我需要在同一个视图中显示这三个表中的所有条目,最好是orderedBycreated_at字段。 我使用以下代码来合并这些表: 出现的问题是雄辩的关系不起作用,Blade中