Laravel Eloquent 模型多表查询

初学Laravel,遇到模型的一个问题,请各位大牛不吝赐教,如下:

有两个表结构如下:
Name:id 、name 、deptid
departmnet: id 、 description

现有一个可能需求是需要跑出来所有的人姓名、部门、电话,请问用模型应该如何实现:
如果用Name模型跑出来的数据有 deptid 、尝试了使用一对多模型,不知如何写

烦请大牛不吝赐教,谢谢!

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

非常不建议使用 deptid 这种简写定义一个字段而且是关联字段,应该定义成 department_id;如果是用户表的表名的话 Users 比 Name 要好得多;你的意思应该是一个 department 有多个 name,那么应该在 Name Model 中 belongsTo Department Model,在 Department Model 中 hasMany Name Model;取数据带上关联表可以使用 with 方法,具体你可以看看 一对多

7年前 评论

@小恪守 感谢您的耐心和细心解答,表名我只是举个例子,非常抱歉给您造成了麻烦,我一直不知道用模型如何实现类似如下原生SQL的方法

select user.id,user.name,department.description from user department where user.department_id = department.id

官方文档没有看到with方法,或许是我没有认真看文档。

再次感谢您的帮助。

7年前 评论

你可以看看这篇文章 Laravel 在 with 查询中只查询个别字段,希望能解决你的问题。

7年前 评论

@小恪守 非常感谢,看文档没有吃透,现在认真看了一下,醍醐灌顶。

7年前 评论

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