join - 当我在连接查询中使用“with”时,选择除了 laravel eloquent 中的某些列
问题描述
我在 laravel 的 join eloquent 中使用 from "with",我想在获取查询结果时使用 select 但返回错误,因为例如我使用 with(['user]) 并且 user 是我的模型名而不是表名(表名是用户)有什么方法可以在我的模型名称中使用“选择”?或者我使用除了获取除特定列之外的所有默认列?
谢谢
这是我的查询:
AlbumGalleryManagement::with('image','user')
->whereHas('organization', function ($q2) use ($organizationSlug){
$q2->where('organization_slug', $organizationSlug);
})
->join('province_approves','province_approves.approved_id','album_gallery_managements.id')
->where('province_approves.approved_type',self::ALBUMMODEL)
->where('published_at','<=',$nowDate)
->orderBy('published_at','DESC')
->orderBy('album_gallery_managements.id','DESC')
->paginate(self::PAGINATE);
解决方案
我使用 select() 来获取指定的列。在join中使用“with”;列结果进入关系标签,我很容易使用它们。
我的最后一个查询:
AlbumGalleryManagement::with('image')
->whereHas('organization', function ($q2) use ($organizationSlug){
$q2->where('organization_slug', $organizationSlug);
})
->selectRaw('album_gallery_managements.*')
->join('province_approves','province_approves.approved_id','album_gallery_managements.id')
->where('province_approves.approved_type',self::ALBUMMODEL)
->where('province_approves.status_type',config('constants.status_type.approved'))
->where('published_at','<=',$nowDate)
->orderBy('published_at','DESC')
->orderBy('album_gallery_managements.id','DESC')
->paginate(self::PAGINATE);
推荐阅读
- html - content=no-referrer 和 rel=noreferrer 有什么区别
- sql - Db2 LAG 函数可以引用自身吗?
- c# - 如何使用 c# 获取添加的现有项目的部署版本?
- c++ - 为什么在 windows10 上构建并在 Windows7 上运行时出现“非法指令”错误
- php - 一般错误:3780 在外键约束“fk_post”中引用列“post_id”和引用列“id”不兼容
- python - 如何获取列字典的值
- php - 在 foreach 循环中存储唯一值
- javascript - Browserify - ParseError:“import”和“export”可能只出现在“sourceType:module”中
- java - Spring @Service 逻辑与构建器模式
- java - BufferedStreamReader 如何在 java 中工作