首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel -超长关系(感觉不对)

Laravel -超长关系(感觉不对)
EN

Stack Overflow用户
提问于 2017-06-20 00:00:04
回答 1查看 37关注 0票数 0

好的,这是我的方法:

代码语言:javascript
复制
public function edit(Request $request, $ent, $room, $obj)
{
    $input = $request->except(['_token']);

    Enterprise::where('bedrijfsnaam', $ent)->first()->rooms()->where('name', $room)->first()->objects()->where('name', $obj)->first()->update($input);

    return redirect('/enterprise/'.$ent.'/room/'.$room);
}

正如你所看到的,在Enterprise::where()我有一个很长的关系,但有这么长的关系感觉不对。有这么大的一个是可以的吗?还是有更好的方法呢?

EN

回答 1

Stack Overflow用户

发布于 2017-06-20 00:08:09

显然,在不真正了解您的关系/模型的情况下,很难说您是否可以简化您的数据库模式。然而,在某些情况下,像这样的复杂关系是完全可以的。在这种情况下,我将在您的模型上定义一些更具描述性的方法,以抽象您在控制器中构建的查询。

代替Enterprise::where('bedrijfsnaam', $ent)->first()->rooms()->where('name', $room)->first()->objects()->where('name', $obj)->first()->update($input);,也许你可以把它简化成类似这样的东西:

Enterprise::where('bedrijfsnaam', $ent)->first()->getRoomByName($name)->getObjectByName($obj)->update($input);

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

https://stackoverflow.com/questions/44635123

复制
相关文章

相似问题

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