查询 laravel 4.2 中联接对象的范围
Querying scopes on joined object in laravel 4.2
我不确定这在 laravel 中是否可行,因为我还没有看到示例,但如果有的话会很有帮助。
假设我有一个 User
和一个 Post
对象,post 有一些复杂的逻辑和活动状态,我想将其封装在其中。
class Post {
static public scopeActive($query) {
// Fuzzy logic for determining activity
}
}
查询用户post我想我可以做到
User::whereHas('Post');
然而,我在尝试扩展此语法以应用 Active 范围时迷失了方向,因为这仅适用于 post 对象。
我想查询活跃的用户post。
这样就可以了。
User::whereHas('Post', function($q)
{
$q->active();
}
);
文档只说明 $q 是 'the query' 实际上它是一个很棒的 'Post' Builder 对象。
同样值得注意的是,这不会加入 Post,仅检查具有给定查询属性的 Post 对象是否存在。
我不确定这在 laravel 中是否可行,因为我还没有看到示例,但如果有的话会很有帮助。
假设我有一个 User
和一个 Post
对象,post 有一些复杂的逻辑和活动状态,我想将其封装在其中。
class Post {
static public scopeActive($query) {
// Fuzzy logic for determining activity
}
}
查询用户post我想我可以做到
User::whereHas('Post');
然而,我在尝试扩展此语法以应用 Active 范围时迷失了方向,因为这仅适用于 post 对象。
我想查询活跃的用户post。
这样就可以了。
User::whereHas('Post', function($q)
{
$q->active();
}
);
文档只说明 $q 是 'the query' 实际上它是一个很棒的 'Post' Builder 对象。
同样值得注意的是,这不会加入 Post,仅检查具有给定查询属性的 Post 对象是否存在。