如何解决查询具有关系的模型字段
我有两个模型,用户模型和枚举器。我想搜索枚举数模型中的某些列及其在用户模型中的关系。这是我所拥有的;
枚举器
- unique_id
- 名字
我想编写一个查询,该查询将在同一集合中同时获取unique_id和first_name。
这是我所拥有的;
Enumerator::with(['user' => function($query) {
$query->select('id','first_name','last_name','email');
}])->get(['first_name','unique_id']);
我该怎么办?
解决方法
如果您想在同一个集合中获得多个表列,最好在此处使用join query
$joinTableName = (new App\User())->getTable();
$fromTableName = (new App\Enumerator())->getTable();
$foreignKey = "enumerators_id"; //user table set foreign key
$localKey = "id"; //enumerators table column local key
$selectColumns = [
"{$joinTableName}.first_name","{$fromTableName}.unique_id",];
$a = App\Enumerator::select($selectColumns)
->join(
$joinTableName,"{$joinTableName}.{$foreignKey}",'=',"{$fromTableName}.{$localKey}"
)->get();
dd($a);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。