繁体   English   中英

Laravel从关系的关系表中获取数据并选择列?

[英]Laravel Get data from relationship's relationship table and select column?

我有3张桌子

用户表

+----+-------+----------+
| id | email | password |
+----+-------+----------+
| 1  | 1     | John     |
+----+-------+----------+

user_details表

+----+--------------------+------------+-----------+
| id | user_id [FK_users] | first_name | last_name |
+----+--------------------+------------+-----------+
| 1  | 1                  | John       | Kevin     |
+----+--------------------+------------+-----------+

帖子表

+----+--------------------+----------+
| id | user_id [FK_users] | title    |
+----+--------------------+----------+
| 1  | 1                  | 1st Post |
+----+--------------------+----------+

现在我已经在模型中创建了所有关系,现在我可以通过雄辩的查询访问user_details表,它返回整个用户表和user_details表,但是我只想从user_details表中选择first_name和last_name我该怎么做?

$posts= Post::with('city:id,name_en', 'user.userDetail')->where('id', $id)->get();

这将获取所有的“后”的属性,“用户” id “ user_details” user_id, first_name, last_name

$posts= Post::with([
    'city:id,name_en',
    'user' => function ($query) {
        $query->select('id');
    },
    'user.userDetail' => function($query) {
        $query->select(['user_id', 'first_name', 'last_name']);
    }
])->where('id', $id)->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM