我有两个表User
和Car
。一个用户可能有一辆车。Laravel:负载关系和特定列
我有一个关系设置是这样的:
public function car()
{
return $this->hasOne('App\Car');
}
我希望获取与汽车的用户,但只有选择的用户的name
和汽车的color
。
如果我尝试
App\User::with('car:color')->select('name')->first()->toArray();
然后我不明白的汽车颜色。这是结果:
array:1 [▼
0 => array:2 [▼
"name" => "Max Mustermann"
"car" => []
]
]
是否有可能只获取用户的名称和车的颜色?
这只会从用户表中提取第一行。 –
我明白你接近的作品,但这会返回用户的所有恶魔。我只希望我的用户对象具有2个属性,在这种情况下,只有'$ user-> name'和'$ user-> car-> color'不需要加载这两个表中的所有其他字段。 – Adam
@亚当我更新了我的回答 –