因此,我正在尝试通过实现 Eloquent 关系来改进我的查询。 假设我有一个threads 表,每个线程都有回复
我需要的是一个包含所有回复数组的线程信息的 JSON 对象。
目前,我可以用它实现我想要的。
public function show($threadId){
$threads = ThreadView::find($threadId);
$threads->replies = ReplyView::where('threadId', $threadId)->get();
return response()->json($threads, 200);
}
有了 Eloquent 关系,我可以用这样的东西达到同样的结果。
public function show($threadId) {
$threads= ThreadView::find($threadId);
$threads->replies= ThreadView::find($threadId)->Replies;
return response()->json($threads, 200);
}
使用关系有优势吗?它们在我看来都一样。
最佳答案
使用 Eloquent,您可以更短地完成此操作:
public function show($threadId) {
$threads = ThreadView::with('replies')->find($threadId);
return response()->json($threads, 200);
}
with
函数将急切加载关系,而无需您编写查询。
这就是 Eloquent 的优势,它会为您编写查询。无需为您创建连接查询或额外查询。
关于php - 使用 Laravel Eloquent Relationship 查询有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345143/