gpt4 book ai didi

php - Laravel:如何使用预加载获取基表的选定列?

转载 作者:可可西里 更新时间:2023-10-31 23:45:48 24 4
gpt4 key购买 nike

例如这里的表结构。

User
-----
-id
-role_id
-fname
-lname
-country_code
-mobile
-password
-remember_token
-email
-address
-location_id

还有另一个表

Role
-----
-id
-name

现在如果我想要用户表和角色表中的所有用户信息,我会这样写。

$user = User::with('Role')->where('users.id',$id)->first()->toArray();

但它会从用户表中获取所有数据。我需要的是预先加载的用户表的选定列。就像用户表中的 fname、lname、mobile、email 和角色表中的 role_name。

我知道如何选择关联表的特定列,如下所示。

public function Role(){
return $this->belongsTo('App\Role')->select('id','name as role_name');
}

但是如何使用 with() 选择 User 表的特定列?

最佳答案

尝试这样的事情(我用头写,测试它):

$user = User::with('Role')
->where('users.id',$id)
->select('users.fname','users.lname','users.mobile','users.email', 'roles.name as role_name')
->first()->toArray();

或使用 joints直接。

关于php - Laravel:如何使用预加载获取基表的选定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com