【发布时间】:2016-04-15 04:08:28
【问题描述】:
我目前面临一个小问题。仅当存在具有某些条件的关系时,我才想返回模型。使用 whereHas() 方法可以正常工作。
$m = Model
::whereHas(
'programs',
function($q) {
$q->active();
}
);
但是,将关系称为像这样的属性将给我所有(未过滤的结果)。
$m->programs;
所以基本上我现在正在做的是:
$m = Model
::whereHas(
'programs',
function($q) {
$q->active();
}
)
->with(array('programs' => function($q) {
$q->active();
}))
;
这很好,但我对再次做同样的事情感到非常难过。这不可能是正确的方法。如何在不复制代码的情况下实现这一点?
【问题讨论】:
-
我认为查询生成器没有更短/更好的方法。