我有定义了适当的belongsTo / hasMany关系的模型,我想根据连接表的属性查询一个表 . 如果我在查询中定义连接,我可以这样做,但有什么我可以这样做,以便每次我想要查询模型的关系时我都不必定义连接?
例如 . 以下不起作用,除非我定义一个连接:
FileAssociation::with('file')->where('files.file_type_version_id', $file->file_type_version_id)->get()
我认为你想要的是Eager Load Constraints,基本上你可以做到这一点
FileAssociation::with(array('file' => function($query) { $query->where('file_type_version_id',$file->file_type_version_id); }))->get();
查看Eager Loading上的文档
Edit
如果您现在使用的是Laravel 4.1,则只有在至少有一个"file"的情况下才能返回 FileAssociation ,才能访问 whereHas() 方法
FileAssociation
whereHas()
FileAssociation::whereHas('file' => function($query) { $query->where('file_type_version_id',$file->file_type_version_id); })->get();
查看Quering Relations上的文档
1 回答
我认为你想要的是Eager Load Constraints,基本上你可以做到这一点
查看Eager Loading上的文档
Edit
如果您现在使用的是Laravel 4.1,则只有在至少有一个"file"的情况下才能返回
FileAssociation
,才能访问whereHas()
方法查看Quering Relations上的文档