繁体   English   中英

如何只对一个执行查询?

[英]How can I executing query to only one?

这是故事,我正在使用这个package (laravel 可翻译)进行 model 翻译。

我将它用于 select 框中的各省,一切都很好并且工作正常, BUT当我打开调试器时,我发现有 21 个查询运行!

在此处输入图像描述

存在 1+N 问题,我该如何执行一个查询!

仅供参考:

有两种翻译模型(Governate, GovernorateTranslation)第一个只包含(id) ,第二个包含( id, local, name, governorate_id).

您应该急切地加载区域模型集合上的翻译关系。 这将只对所有区域执行一个查询,并且翻译将起作用。

$governorate->load('translations');

在 Laravel 文档中检查这个

https://laravel.com/docs/7.x/eloquent-relationships#eager-loading

您可以尝试在一个查询中调用所有 ID

一些方法可以做到这一点

$models = Model::whereIn('governorate_id',[1, 2, 3]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM