是否有一种直接的方法可以将关系键值直接加载到父级中。我的意思是不将其存储在子元素下?
例如:
$user = User::with('contact');
但返回以下内容:
[
'name'=>'john',
'surname'=>'doe'
'contact' => [
'phone' => '...',
'email' => '...@...'
]
]
我直接想要这个:
[
'name'=>'george',
'surname'=>'doe',
'phone' => '...',
'email' => '...@...'
]
我可以循环所有用户并手动放置该值,但是我想知道是否存在一种直接从数据库调用这些用户的方法。如果有直接的方法,它将为我节省很多资源。
答案 0 :(得分:3)
如果User
和Contact
的关系为One-To-One
,则可以运行这样的查询:
User::join('contacts', 'users.id', '=', 'contacts.user_id')
->select(['name', 'username', 'phone', 'email'])
->get();