Laravel 中有没有现成的把两张表当成一张表用的方法?

现在的系统中,有两张表是一对一的,而且基本上每次要查询的信息都是在两张表里的,每次都是join。
laravel 里有没有什么方法能直接把两张表当成一张表用呢?
一般这种情况是怎么处理的呢?

用with的话,也要分开两张表哪张是主表的问题,而且查出来的还在一个二级数组里,感觉不是特别方便。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

请考虑一下数据表设计的是不是有问题,每次要取得字段在两张表里都有,看看能不能把这些字段都集中在一个表,如果不能,那可以试着封装一个方法获取这些字段

6年前 评论

這樣的情況確實很有可能是 Schema 設計有問題,需要重新審視調整
若非要維持現在的架構的話,我提兩個思路供參考

  1. 寫一個主表的 Observer,監聽 retrieved 事件,在每次有被 Get 時由觀察器去把關聯表拿回來並做 merge 的動作
  2. 用 Repository 封裝,但以 @Summer項目開發規範 來說並不建議此方法,因此還是看自己項目的架構斟酌
6年前 评论

数据库一开始是为了1对多设计的,结果按产品的话,完全就是1对1,结果弄成现在这样就很麻烦。。很尴尬。。。这种情况有可能通过视图来解决吗?

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!