Laravel 集合与关系的结合

Laravel 集合与关系的结合,laravel,eloquent,Laravel,Eloquent,有没有办法将关系列集成到父集合中 $r = User::with('contactDetails')->get(); 然后可以将它们合并到一个对象中,而无需执行$r->user[0]->contactDetails->phonenumber,而只需执行$r->user[0]->phonenumber即可,您可以使用它在现有对象上迭代集合和映射。就是这样, User::with('contactDetails') ->get() ->transform(func

有没有办法将关系列集成到父集合中

$r = User::with('contactDetails')->get();
然后可以将它们合并到一个对象中,而无需执行
$r->user[0]->contactDetails->phonenumber
,而只需执行
$r->user[0]->phonenumber

即可,您可以使用它在现有对象上迭代集合和映射。就是这样,

User::with('contactDetails')
    ->get()
    ->transform(function (User $user) {
        $user->phonenumber = $user->contactDetails->phonenumber;
            
        return $user;
    });
另一种更有效的方法是使用
join
,因为它是一对一的关系。然后您可以在select语句中输入
phonenumber