我已经检查了许多解决方案,以从第一个模型中获得特定的列,并进行了急切的加载,但在我的情况下没有任何效果。
例如:我想要模型中的特定列 User
并希望在没有任何联接的情况下通过即时加载获取关系数据。
$users= User::select('name') // get one column from user table
->with(array('role_user' => function($query){
$query->select('role_name'); // and select one column from pivot table
}))
->paginate(3);
当我不使用 User::select('name)
,当我使用select时,它返回带有渴望加载的关系数据,它返回空数组。
如何使用即时加载从两个表中获取特定列
2条答案
按热度按时间flmtquvp1#
我不太清楚,你是如何定义你的关系的,但是laravel有一些奇怪的行为:你应该总是选择主键和外键:
您可以将其简化为:
nsc4cvqm2#
我们永远不知道您的项目的模式和关系。。但我想这应该行得通
在用户模型中,关系必须是
以你的榜样