laravel with查询的时候 怎么写多个查询条件

两个表
book表
id name name_en user_id type_id
content
id name name_en user_id type_id

在book表 with查询content
BOOK表 模型

    public function contents()
    {
        return $this->hasMany(Content::class, 'user_id', 'user_id');
    }
->with('contents', function ($query) {
  $query->whereColumn('book.type_id', '=', 'content.type_id')->select('*');
 });

上面这样写不对

问题就是 关联查询的时候 多个条件相等 不知道怎么实现 ? 求大神指点一下 ,非常感谢 比如上面的 要保证user_id和type_id相等

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3

关联模型的where 应该 使用过 whereHas 方法

->whereHas('contents', function ($query) {
    $query->where();
})->with('contents')
1年前 评论

你文中提到的应该用join,也有第三方的包可能有支持的,默认应该是不支持的。

->with('contents', function ($query) use ($type_id) {
  $query->where(type_id', $type_id)
 });

with的话 这样用

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!